opentype.js
Read and write OpenType fonts using JavaScript
...Once you have the shapes, you can modify them, for example by snapping them to a virtual grid. opentype.js provides you with raw access to the glyphs so you can modify them as you please. Create a bézier path out of a piece of text. Support for composite glyphs (accented letters). Support for WOFF, OTF, TTF (both with TrueType glyf and PostScript cff outlines) Support for kerning (Using GPOS or the kern table). Support for ligatures. Support for TrueType font hinting. Support arabic text rendering (See issue #364 & PR #359 #361) A low memory mode is available as an option (see #329) Runs in the browser and Node.js.