Letter and word spacing are saved into the exported .ttf files. See the Guide tab for what is and isnβt exported.
Click or drag letters to reposition β scroll the preview if text is larger than the pane
Layout sample textPer-letter layout vs export behavior is documented in the Guide tab.
Uppercase A β Z
Lowercase a β z
Numbers 1 β 10
Special characters
Language rules, syntax, and export behavior are explained in the Guide tab.
Language details
Syntax
Define punctuation and separators for your language.
Custom syntax
Add named tokens that map to symbols in preview (e.g. ... β β¦).
| Token / name | Symbol |
|---|
Character mapping
Map typed characters to different glyphs in your font.
| Input | Glyph |
|---|
Transliteration rules
| From | To glyphs |
|---|
Language preview
Glyphs: β
Welcome to Font Maker
Font Maker is a pixel-font editor. You draw glyphs on a 72Γ96 grid, preview text, tune spacing and per-letter layout, define custom language rules, and export a ZIP with TrueType fonts plus settings files.
Run locally with python serve.py then open http://localhost:8765/.
Included fonts
- English Base β built-in reference font rasterized from DM Sans. Uppercase, lowercase, digits, and special characters. Good for comparison while designing.
- Eldaraure β custom display font in
fonts/(Elvish + Aurebesh inspired). Includes Regular, Italic, Bold, and Bold Italic. Key0renders ten; keys1β9render one through nine.
Draw tab
Edit one character at a time on the pixel grid. Changes sync to all four style variants (Regular, Italic, Bold, Bold Italic) β you draw once, the engine derives weight and slant for preview and export.
Editor sizing
- The grid auto-fits to fill the editor pane. Use the Zoom slider for manual control.
- Editor resolution (toolbar) changes cell size on the grid β higher px/cell = coarser pixels.
- Italic and Bold Italic preview slant inside the grid β ink is clipped to the grid lines so nothing draws outside the editable area.
Main menu
The home screen is separate from the editor. Choose an existing font, Create blank font for an empty 72Γ96 template, or upload a .ttf / .otf. Use β Menu in the toolbar to return without losing your session until you reload the page.
Preview tab
Type sample text and see it rendered with your font. Letter and word spacing sliders affect both the preview and the exported .ttf files.
The Size slider only changes how large the preview is drawn on screen β it does not change glyph design or export size.
Layout tab
Has its own sample text (separate from Preview). Click or drag letters in the preview to select them, then adjust per-letter metrics:
- Letter size (glyph scale) β scales ink in previews and is baked into exported outlines.
- Left / right and Up / down β move the glyph inside its slot; baked into
.ttfpositions. - Spacing after (advance adjust) β extra gap after this letter; baked into
.ttfadvance widths. - Line β / β β shifts the entire sample line for composition. Saved in
font-settings.jsononly β not baked into individual glyphs.
Language tab
Languages are text transformation rules applied when previewing or when your game loads languages.json. They are not embedded inside the .ttf glyph data.
Rule order (applied in sequence)
- Transliteration β replace letter patterns (e.g.
thβTH). Longest match wins. - Syntax β maps standard punctuation to your languageβs symbols; custom tokens replace named strings.
- Character map β remaps individual characters to different glyphs that must exist in your font.
Important
- If a mapped glyph is not drawn in your font, the preview shows a blank for that character.
- To use languages outside Font Maker, load
languages.jsonand apply the same transform before rendering with the TTF. - Latin is prefilled as a starting template. Add languages with + Add.
Gallery tab
Glyph reference chart for the active style variant. Click a cell to jump to that character in the Draw tab.
Export ZIP contents
| File | What it is |
|---|---|
YourFont-Regular.ttf | TrueType font β Regular weight |
YourFont-Italic.ttf | Italic style |
YourFont-Bold.ttf | Bold weight |
YourFont-BoldItalic.ttf | Bold + Italic |
glyph-reference.png | PNG chart of all glyphs |
font-settings.json | Letter/word spacing, per-letter metrics, line shift, weight |
languages.json | All language definitions and active language id |
What goes into the .ttf files?
| Setting | In .ttf? | Where else? |
|---|---|---|
| Pixel glyph shapes you drew | Yes | β |
| Per-letter offset (Layout move) | Yes | font-settings.json |
| Per-letter scale (Layout size) | Yes | font-settings.json |
| Per-letter advance adjust | Yes | font-settings.json |
| Letter / word spacing (Preview) | Yes | font-settings.json |
| Toolbar weight slider | Yes | font-settings.json |
| Line β / β shift | No | font-settings.json |
| Preview size sliders | No | Display only |
| Language transliteration / char map | No | languages.json |
| Language syntax rules | No | languages.json |
Characters in every font
Uppercase AβZ, lowercase aβz, digits 0β9 (where 0 = ten), and special characters:
. , ! ? ; : ' " - ( ) [ ] @ # & * + / =
Toolbar reference
- Regular / Italic / Bold / Bold Italic β preview style while editing. Drawing always edits the base grid shared by all variants.
- Editor β pixel cell size in the Draw tab grid.
- Preview β default resolution preset for Preview and Layout tabs.
- Weight β global stroke weight; affects bold rendering and export.
See the Guide tab for full export documentation.