├── .gitignore
├── .npmignore
├── LICENSE.md
├── README.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | node_modules
3 | *.log
4 | .DS_Store
5 | bundle.js
6 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | node_modules
3 | *.log
4 | .DS_Store
5 | bundle.js
6 | test
7 | test.js
8 | demo/
9 | .npmignore
10 | LICENSE.md
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 2015 Matt DesLauriers
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy
5 | of this software and associated documentation files (the "Software"), to deal
6 | in the Software without restriction, including without limitation the rights
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is
9 | furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all
12 | copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
20 | OR OTHER DEALINGS IN THE SOFTWARE.
21 |
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # text-modules
2 |
3 | A collection of modules for processing, manipulating, and rendering text and fonts in Node and the browser. Please open an issue or submit a PR for suggestions/improvements.
4 |
5 | ### contents
6 |
7 | - [Articles](#articles)
8 | - [Font Processing](#font-processing)
9 | - [Bitmap Text](#bitmap-text)
10 | - [Vector Text](#vector-text)
11 |
12 | # # Articles
13 |
14 | - [Material Design on the GPU](http://mattdesl.svbtle.com/material-design-on-the-gpu)
15 | - [Drawing Text with Signed Distance Fields in MapboxGL](https://www.mapbox.com/blog/text-signed-distance-fields/)
16 | - [Improved Alpha-Test Magnification for Vector Textures](https://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf)
17 | - [Multi-Channel Distance Field Font Rendering](https://lambdacube3d.wordpress.com/2014/11/12/playing-around-with-font-rendering/)
18 |
19 | # # Font Processing
20 |
21 | - [opentype.js](https://www.npmjs.com/package/opentype.js)
22 | - [freetype2](https://www.npmjs.com/package/freetype2)
23 | - [node-fontnik](https://github.com/mapbox/node-fontnik)
24 |
25 | # # Bitmap Text
26 |
27 | ### generation tools
28 |
29 | - [BMFont](http://www.angelcode.com/products/bmfont/) (Windows only)
30 | - [Hiero](https://github.com/libgdx/libgdx/wiki/Hiero)
31 | - [GlyphDesigner](https://71squared.com/glyphdesigner)
32 | - [Littera](http://kvazars.com/littera/)
33 | - [gdx-fontpack](https://github.com/mattdesl/gdx-fontpack)
34 | - [bmGlyph](http://www.bmglyph.com/)
35 |
36 | ### command-line tools
37 |
38 | - [image-sdf](https://www.npmjs.com/package/image-sdf) get an image's Signed Distance Field
39 | - [convert-bmfont](https://www.npmjs.com/package/convert-bmfont) convert BMFont from one format to another
40 |
41 | ### parsing
42 |
43 | Parses BMFont file formats to a [standardized JSON](https://github.com/Jam3/load-bmfont/blob/master/json-spec.md).
44 |
45 | - [parse-bmfont-xml](https://www.npmjs.com/package/parse-bmfont-xml)
46 | - [parse-bmfont-ascii](https://www.npmjs.com/package/parse-bmfont-ascii)
47 | - [parse-bmfont-binary](https://www.npmjs.com/package/parse-bmfont-binary)
48 | - [unpack-bmfonts](https://www.npmjs.com/package/unpack-bmfonts) unpacks a binary of multiple BMFonts
49 |
50 | ### writing
51 |
52 | Writes to a specific format.
53 |
54 | - [write-bmfont-binary](https://www.npmjs.com/package/write-bmfont-binary)
55 | - [pack-bmfonts](https://www.npmjs.com/package/pack-bmfonts) packs multiple BMFonts into a single binary file
56 |
57 | ### loading
58 |
59 | - [load-bmfont](https://www.npmjs.com/package/load-bmfont) loads various BMFont file formats in Node/Browser
60 |
61 | ### rendering
62 |
63 | - [word-wrapper](https://www.npmjs.com/package/word-wrapper) wraps words based on arbitrary 2D glyphs
64 | - [layout-bmfont-text](https://www.npmjs.com/package/layout-bmfont-text) word-wraps and lays out text glyphs
65 | - [three-bmfont-text](https://www.npmjs.com/package/three-bmfont-text) renders BMFont files in ThreeJS
66 | - [gl-sprite-text](https://www.npmjs.com/package/gl-sprite-text) renders BMFont files in stackgl
67 | - [font-atlas](https://github.com/hughsk/font-atlas) populate a Canvas with bitmap font glyphs
68 |
69 | ### testing
70 |
71 | - [bmfont-lato](https://www.npmjs.com/package/bmfont-lato) Lato packed as a BMFont for testing
72 |
73 | ### misc
74 |
75 | - [sdf-bitmap-glyphs](https://www.npmjs.com/package/sdf-bitmap-glyphs)
76 | - [ndarray-bin-pack](https://www.npmjs.com/package/ndarray-bin-pack)
77 | - [distance-transform](https://www.npmjs.com/package/distance-transform)
78 |
79 | # # Vector Text
80 |
81 | ### generation
82 |
83 | - [vectorize-text](https://www.npmjs.com/package/vectorize-text) render a string to a vectorized cell complex
84 |
85 | ### triangulation
86 |
87 | - [cdt2d](https://www.npmjs.com/package/cdt2d) numerically robust delaunay triangulation
88 | - [earcut](https://www.npmjs.com/package/earcut) small and fast triangulation module
89 | - [triangulate-polyline](https://www.npmjs.com/package/triangulate-polyline) simple abstraction atop `cdt2d`
90 | - [triangulate-contours](https://www.npmjs.com/package/triangulate-polyline) triangulate using Tess2
91 |
92 | ### curves
93 |
94 | - [cubic-hermite-spline](https://www.npmjs.com/package/cubic-hermite-spline)
95 | - [b-spline](https://www.npmjs.com/package/b-spline)
96 | - [bezier-curve](https://www.npmjs.com/package/bezier-curve)
97 | - [adaptive-bezier-curve](https://www.npmjs.com/package/adaptive-bezier-curve)
98 | - [adaptive-quadratic-curve](https://www.npmjs.com/package/adaptive-quadratic-curve)
99 | - [cat-rom-spline](https://www.npmjs.com/package/cat-rom-spline)
100 | - [bezier-easing](https://www.npmjs.com/package/bezier-easing)
101 |
102 | ### paths
103 |
104 | - [simplify-path](https://www.npmjs.com/package/simplify-path) - simplify using radial distance and Douglas-Peucker
105 | - [chaikin-smooth](https://www.npmjs.com/package/chaikin-smooth) - Chaikin's smoothing algorithm for a polyline
106 | - [robust-orientation](https://www.npmjs.com/package/robust-orientation) and [is-clockwise](https://www.npmjs.com/package/is-clockwise) for polygon orientation
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "text-modules",
3 | "version": "1.0.5",
4 | "description": "a list of text/font modules",
5 | "main": "index.js",
6 | "license": "MIT",
7 | "author": {
8 | "name": "Matt DesLauriers",
9 | "email": "dave.des@gmail.com",
10 | "url": "https://github.com/mattdesl"
11 | },
12 | "dependencies": {},
13 | "devDependencies": {},
14 | "scripts": {
15 | "test": "node test.js"
16 | },
17 | "keywords": [
18 | "text",
19 | "font",
20 | "modules",
21 | "list",
22 | "ecosystem",
23 | "ecosystem:text",
24 | "language",
25 | "fonts",
26 | "glyph",
27 | "glyphs",
28 | "ttf",
29 | "webgl",
30 | "canvas",
31 | "otf",
32 | "woff",
33 | "font-face",
34 | "bitmap",
35 | "bitmaps",
36 | "bmfont",
37 | "angel",
38 | "code",
39 | "angelcode"
40 | ],
41 | "repository": {
42 | "type": "git",
43 | "url": "git://github.com/mattdesl/text-modules.git"
44 | },
45 | "homepage": "https://github.com/mattdesl/text-modules",
46 | "bugs": {
47 | "url": "https://github.com/mattdesl/text-modules/issues"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------