Gets the font program the font is drawn with when it has no usable embedded program, found by the engine's font resolvers;
null when the font has a usable embedded program (Program), is a Type 3 font, or no
resolver has a program for it.
public FontSubstitute? Substitute { get; }
ISO 32000-2 §9.6.2.2 (the Standard 14 fonts "or their font metrics and suitable substitution fonts, shall be available"),
§9.6.2.1 (Table 109: BaseFont "may be used to find the font program in the PDF processor or its environment") and §9.8
(the font descriptor "enables a PDF processor to synthesise a substitute font or select a similar font"). See
IFontResolver for the order resolvers are asked in. A Standard 14 font with the Standard 14 fonts package
configured gets one of its fonts (Liberation Sans for Helvetica, Foxit Symbol for Symbol).
Resolved on first use and kept until the font's dictionaries change. When the substitute is not the font itself or a stand-in for a Standard 14 font (Family, Similar), an information diagnostic names both; when nothing is found, an information diagnostic says so. Neither throws in strict mode: which fonts a machine has is not a deviation of the file.