Export local font glyph outlines as SVG
Select glyphs within an explicit static TTF profile, check mappings and declared metrics, and read every curve and JSON field from the complete ZIP.
Confirm the asset task and actual format
The author wanted complete exported SVGs, found a clipped tail and hoped to leave the font unchanged. The endpoint is a standalone outline asset rather than a renamed font or a shaped text run. The original question did not attach the complete font; this tool does not claim to reproduce or fix that original.
Choose one-face sfnt0x00010000 static TTF up to16MiB, with glyf quadratic outlines and bounded acyclic XY-affine composites. CFF/CFF2, TTC, WOFF, variable/color/bitmap/SVG-in-font data, point-aligned components and cmap2/8/10/14 are Unsupported. The filename extension does not establish support.
Select the same asset set by IDs or code points
Glyph IDs accept nonnegative decimal integers. Code points accept decimal or U+ with1–6 hexadecimal digits, separated by whitespace or commas. The lists together allow2,000 entries, no duplicates within each list and no ranges such as2-100. SVG padding is an integer0–4,096 font units.
In the example font select IDs2,3 and U+0041/U+10FFFF with padding4. U+0041 points to already-selected ID2; U+10FFFF is uncovered, so there are only two SVGs. report.json lists every requested status; no replacement glyph is invented. An uncovered-only request can produce JSON with zero SVGs as an explicit result.
Read the complete ZIP and bounded preview
The STORE ZIP is uncompressed:2,000 SVGs plus report.json are2,001 members. Complete logical content is limited to32MiB and actual ZIP to33,766,552 bytes; compressed size cannot stand in for the data budget. Member names are fixed safe ASCII. SVG contains only escaped title and M/L/Q/Z paths, without scripts, external links, embedded font data or foreignObject.
| Location | Complete content | Use |
|---|---|---|
| report.json | Source SHA/bytes, all mappings/names/metrics/bounds/commands | Complete data inspection |
| glyph-00002.svg | One glyph title/path/viewBox | Standalone outline asset |
| Interface table | First200 glyphs; first2,000 UTF-16 units per long cell | Quick inspection |
| Copy | Full JSON≤20,000 characters; explicit summary above it | Copy the declared scope |
Finite names and Apple mapping profile
Names support post1/2/2.5/3; post3 or no post gives name=null. post4, unknown formats, non-ASCII custom names, reserved indices and XML-illegal controls are Unsupported. Declared TAB/LF/CR remain intact; SVG retains CR with . cmap0/4/6/12/13 first uses the finite preferred Unicode order, then explicitly allowed Mac records.
Mac rawlanguage0 allows only encoding0Roman,4Arabic,5Hebrew,6Greek,7Cyrillic and29CentralEurope. Nonzero languages allow only the pairs below; unknown or mismatched languages never fall back to a guessed script. Arabic/Hebrew accepts only unique, undirectional single scalars without a documented font variant. Direction, duplicate, multi-scalar or font-variant ambiguity is atomically Unsupported. Valid glyph-ID mode still retains all names and metrics.
| Raw language | Apple map | Encoding |
|---|---|---|
| 16,31 | ICELAND | 0 |
| 18 | TURKISH | 0 |
| 19 | CROATIAN | 0 |
| 25–29,39–41 | CENTEURO | 0,29 |
| 38 | ROMANIAN | 0 |
| 144 | INUIT | 0 |
| 147 | GAELIC | 0 |
Preserve integrity and recover
Keep the original font and the completed ZIP together. If a run is refused or cancelled, correct the selected parameters or reduce the complete request, then compare the recovered report with the same original before using its SVG assets.
- Processing remains in the browser; the font is never rewritten or installed and its instructions are not executed.
- Limits are200,000 commands,200,000 expanded points,200,000 component visits and depth32, with output limits applied together; another limit may be reached first.
- For Unsupported names/mappings, check the finite profile or use known IDs; for invalid parameters correct duplicates, ranges, scalars and integer padding.
- Errors and cancellation publish no partial ZIP. Reduce complete work or correct input, then rerun the same original; previews and summaries are not the complete JSON.
References
- Complete glyph SVG asset demand
Lance Pollard’s first-person clipping/unchanged-font task; no original font attached and no reproduction claim.
- Apple post glyph-name formats
Name-format correctness reference, not demand evidence.
- Unicode Apple character mappings
Complete official tables/notices; Arabic/Hebrew direction,multi-scalar and variants use only the explicit finite profile.
Tools in this category
Expand a tool to see its steps, options and supported formats, then open its workspace.
Static font glyph SVG exportSelect glyph IDs or code points from a supported static TrueType font and export SVGs with complete curve bounds plus a JSON report of names, declared metrics and mapping status.
A complete outline asset needs curve bounds rather than only font line metrics. Confirm the supported format and selectors, inspect uncovered mappings, then download the complete ZIP.
Steps
- Choose one supported static TTF; its original bytes remain unchanged.
- Enter glyph IDs or Unicode code points and an integer padding. The union of the lists determines exported glyphs.
- Check selected glyphs, uncovered code points and metric scope; download ZIP for every SVG and the complete JSON.
Available options
- Glyph ID list
- Enter as needed
Decimal IDs separated by whitespace or commas, e.g.2,3. Leave blank to use code points.
- Unicode code-point list
- U+0041
For example U+0041 U+1F600 or65; absent mappings remain visibly uncovered.
- SVG padding (font units)
- 0
Integer0–4,096; padding applies to curve bounds without changing the font or declared metrics.
Capabilities and limits
- One-face sfnt0x00010000 static TTF only: glyf quadratic outlines and bounded acyclic XY-affine composites; one input up to16MiB. CFF/CFF2, TTC, WOFF/WOFF2, variable/color/bitmap/SVG-in-font tables, point-aligned composites and cmap2/8/10/14 are Unsupported.
- Glyph IDs are nonnegative decimal integers; code points are decimal or U+ followed by1–6 hexadecimal digits, separated by whitespace or commas. The combined lists allow2,000 entries, with no duplicates within either list and no range shorthand. Code points must be Unicode scalars; a missing or glyph0 mapping is explicitly uncovered, without a replacement SVG. Blank omits that list; provide at least one selector.
- At most2,000 selected glyphs,200,000 M/L/Q/Z commands,200,000 expanded points,200,000 component visits and composite depth32. Padding is an integer0–4,096 font units. Complete SVG+JSON combined≤32MiB;2,000 SVGs plus report.json are2,001 members, with STORE ZIP≤33,766,552 bytes. Combined inputs can reach another guard first.
- Coordinates retain the original glyf design grid and invert the SVG Y axis. Curve bounds are float64-derived with an explicit outward numeric guard, not lossless numerical arithmetic. Advance/lsb are declared hmtx values; USE_MY_METRICS, hinting, shaping, kerning and raster layout are not applied. Font instructions are never executed; this is not a full font-checksum or installed-font integrity audit.
- cmap0/4/6/12/13 uses the finite preferred Unicode-record order. Mac lookup supports only the declared Apple maps and language/encoding pairs, without ISO substitution or an unknown-language fallback. Directional, duplicate, multi-scalar or font-variant Arabic/Hebrew ambiguity is atomically Unsupported; valid glyph IDs remain available. Names support post1/2/2.5/3; post4/unknown formats, non-ASCII custom names, reserved indices and XML-illegal controls are Unsupported. TAB/LF/CR names remain intact; SVG writes CR as .
- The table previews the first200 glyphs and the first2,000 UTF-16 units of long cells. Copy is an explicit summary when JSON exceeds20,000 characters; ZIP report.json and every SVG, command, declared metric and code-point status remain complete. An empty outline retains emptyOutline, bbox=null and an SVG without a path; no curves are invented.