Opening Font Editor…
{{project.title}}{{saveState}}
{{filteredGlyphs.length}} glyphs · {{page+1}}/{{pageCount}}
OUTLINE

{{glyph.name}}

{{glyph.unicodes.map(codeLabel).join(' · ')||'Unmapped glyph'}} · {{project.metrics.unitsPerEm}} units/em

Drag to set left sidebearingDrag to set advance width{{metricLabels[key]}} — drag to adjust
{{guide.name}} {{guide.y}}
Contour selection and transformations

No selection means all contours. Copy/paste stays within this editor; Ctrl/Cmd+A, C and V work on the canvas.

{{glyph.draft?'Draft saved locally. Apply to include it in the font.':'Pen: click-drag for curves, click the first node to close. Nodes: select, type coordinates or use arrow keys.'}}
X {{Math.round(cursorPoint.x*10)/10}} · Y {{Math.round(cursorPoint.y*10)/10}} · {{project.glyphs.length}} glyphs · Local files · {{project.source?project.source.container.toUpperCase():'New font'}}
{{busy}}
{{notice}}

Local font projects

Projects and source fonts stay in this browser. Download a project backup to move your work.

Memory only: download your project before closing this tab.

{{item.id===project.id?'Active':''}}

Live font preview

{{run.text}}

{{previewState}}

Missing: {{missing.map(codeLabel).join(' ')||'None'}}

Compare original and edited Latin

Original source

{{compareText}}

Current export

{{compareText}}

Pair kerning

Source layout is read-only. Export a normalized copy to create simple pairs.

{{pairLabel(pair)}} {{pair.value}}

Export font

A normalized copy rebuilds TrueType outlines and simple pair kerning. Source hinting, advanced layout and unsupported tables are omitted.

{{problem.message}}
{{problem.message}}

{{draftCount}} glyph drafts are not applied. Downloads use committed outlines.

Map SVG artwork to characters

Use a common frame to preserve relative size. Font glyph SVG files retain their baseline and advance width.

FileUnicodeAction
{{row.name}}{{row.error||'Ready — replaces assigned glyph'}}

Batch metrics

Applies to the {{filteredGlyphs.length}} currently filtered glyphs.

Widths will change by {{batchAdvance}} and committed shapes will shift by {{batchOffset}} units. One Undo reverses the batch.

Place pixel artwork

Only the selected foreground color becomes a monochrome glyph. Source vectors remain available until you apply the draft.