The managed default parser for Type 1 programs: FontFile streams in the layout ISO 32000-2 describes (clear text, binary
eexec portion, fixed portion), and the layouts producers also embed: hexadecimal eexec text (PFA) and whole PFB files.
public sealed class Type1FontProgramParser : IFontProgramParser
ISO 32000-2 §9.6.2 and §9.9 (Tables 124 and 125); Adobe Type 1 Font Format (program layout chapter 2, private dictionary
chapter 5, charstrings chapter 6, encryption chapter 7, subroutines and OtherSubrs chapter 8, parsing rules chapter 10); TN 5015
(multiple master OtherSubrs, errata); TN 5040 §3.3 (PFB segments). FontFile3 streams of subtype Type1C are CFF
programs, read by the CFF parser.
The program exposes glyph names (CharStrings), the built-in encoding (/Encoding, ISO 32000-2 §9.6.5.2), the font
matrix and bounding box, advances from hsbw/sbw, and cubic outlines. Charstrings are decrypted once when the
program is parsed; an outline is then interpreted without allocating. Hints are ignored, and PaintType too (ISO 32000-2
§9.9: the text rendering mode decides between filling and stroking).
Reading is lenient: wrong Length1/Length2, hexadecimal eexec, PFB wrapping, malformed entries and
charstring errors are repaired with a diagnostic; only a program without CharStrings is unusable.
kind:method, kind:property, kind:ctor. Press Esc to clear.FormatsGets the formats the parser reads: an engine falls back to it for a program that declares one of them.CanParse(ReadOnlySpan<Byte>)Tells, cheaply, whether the bytes are a program this parser reads, from their signature (such as 00 01 00 00, OTTO, %!).Parse(ReadOnlyMemory<Byte>, FontProgramContext)Parses a font program.