Table of Contents

Class CffSubsetter

Namespace
DocWright.Fonts
Assembly
DocWright.Fonts.dll

Subsets a CFF font program down to a requested glyph set. The result is always CID-keyed with an Adobe-Identity-0 ordering and CID equal to subset glyph id, whatever the source was: that is the one shape a PDF CIDFontType0 descendant selects unambiguously, and it means a name-keyed and a CID-keyed source produce the same kind of output.

public static class CffSubsetter
Inheritance
CffSubsetter
Inherited Members

Remarks

Charstrings are copied byte for byte, so hinting, widths and flex survive untouched. Unused subroutines are emptied rather than removed: callsubr operands are biased by the size of the INDEX they address, so dropping entries would mean rewriting every call site, whereas emptying them frees the same bytes with no renumbering at all. Output is byte-identical across runs and platforms — no hashing, no dictionary ordering, no timestamps.

Methods

Subset(ReadOnlyMemory<byte>, string, IReadOnlyCollection<int>, string, int, IConversionDiagnostics?)

Subsets one font program.