HB-SUBSET(1) User Commands HB-SUBSET(1)

hb-subset - manual page for hb-subset 11.0.1

hb-subset [OPTION?] [FONT-FILE] [TEXT]

Subset font to specification.

Show help options
Show all help options
Options for the font face
Subsetting glyph-set options
Subsetting other options
Subsetting boolean options
Options for the destination & form of the output

Set font file-name
Set face index (default: 0)
Set face loader to use (default: ot)
Supported face loaders are: ot/ft
List available face loaders and quit

Specify glyph IDs or ranges to include in the subset. Use --gids-=... to subtract codepoints from the current set.
Specify file to read glyph IDs or ranges from
Specify glyph names to include in the subset. Use --glyphs-=... to subtract glyphs from the current set.
Specify file to read glyph names from
Specify text to include in the subset. Use --text-=... to subtract codepoints from the current set.
Specify file to read text from
Specify Unicode codepoints or ranges to include in the subset. Use * to include all codepoints. --unicodes-=... can be used to subtract codepoints from the current set. For example: --unicodes=* --unicodes-=41,42,43 would create a subset with all codepoints except for 41, 42, 43.
Specify file to read Unicode codepoints or ranges from

Specify a glyph mapping to use, any unmapped gids will be automatically assigned.
Subset specified nameids. Use --name-IDs-=... to subtract from the current set.
Subset nameRecords with specified language IDs. Use --name-languages-=... to subtract from the current set.
Specify set of layout feature tags that will be preserved. Use --layout-features-=... to subtract from the current set.
Specify set of layout script tags that will be preserved. Use --layout-scripts-=... to subtract from the current set.
Drop the specified tables. Use --drop-tables-=... to subtract from the current set.
(Partially|Fully) Instantiate a variable font. A location consists of the tag of a variation axis, followed by '=', followed by a number or the literal string 'drop'. For example: --variations="wdth=100 wght=200" or --variations="wdth=drop"

Keep everything by default. Options after this can override the operation.
Whether to drop hints
If set don't renumber glyph ids in the subset.
Remove CFF/CFF2 use of subroutines
Keep legacy (non-Unicode) 'name' table entries
Set the overlaps flag on each glyph.
Keep the outline of '.notdef' glyph
Don't change the 'OS/2 ulUnicodeRange*' bits.
Don't perform glyph closure for layout substitution (GSUB).
Keep PS glyph names in TT-flavored fonts.
Do not drop tables that the tool does not know how to subset.
If set preprocesses the face with the add accelerator option before actually subsetting.
Perform IUP delta optimization on the resulting gvar table's deltas

Set output file-name (default: stdout)

Show version numbers
Run subsetter N times (default: 1)

Subsets font file to a specified set of glyphs, Unicode codepoints, or text, design-space limiting, and other reductions.

0: Success.
1: Option parsing failed.
2: Failed loading font face.

HB_FACE_LOADER=face-loader; Overrides the default face loader.

hb-view(1), hb-shape(1), hb-subset(1), hb-info(1)

Find more information or report bugs at https://github.com/harfbuzz/harfbuzz

April 2025 HarfBuzz 11.0.1