Skip to content

subset

Create font subsets with reduced character sets.

Quick Reference

bash
fontisan subset <font> [options]

Options

OptionDescription
--chars TEXTCharacters to include
--file FILEFile containing characters
--unicodes RANGEUnicode ranges ("U+0000-007F")
--glyphs LISTGlyph names/IDs
--output FILEOutput file path
--format FORMATOutput format (ttf, woff, woff2, …)
--profile PROFILESubsetting profile (default: pdf)
--retain-gidsPreserve original glyph IDs

Profiles

ProfileTables includedUse case
pdfcore + glyf/locaPDF embedding (smallest)
webcore + glyf/loca + GSUB/GPOS + CBDT/CBLCWeb fonts that retain color-emoji bitmaps
minimalcore onlySmallest valid font
fullevery standard tableLossless re-export

The web profile is the one to reach for when the subset must still render color emoji in a browser: it preserves the CBDT (bitmap data) and CBLC (bitmap location) tables, and the paired subsetter rewrites them to keep only the bitmaps for the retained glyphs.

Examples

bash
# Subset to specific characters
fontisan subset font.ttf --chars "ABCDEF" --output subset.ttf

# Web subset that retains color-emoji bitmaps
fontisan subset NotoColorEmoji.ttf \
  --chars "😀😁😂🤣😊" \
  --profile web \
  --format woff2 \
  --output emoji.woff2

# PDF embedding profile (drops CBDT/CBLC, smaller output)
fontisan subset font.ttf --chars "ABC" --profile pdf --output pdf-subset.ttf

Detailed Documentation

For comprehensive documentation including unicode ranges, profile selection, and CBDT/CBLC behavior, see the subset command guide.

Fontisan is a [Ribose](https://open.ribose.com/) project