I'm writing a converter for CFF (PostScript Type 2) fonts, and I'm wondering which fields the converter can remove without making any visual difference when the font is used in a PDF file.
I think these fields can be removed or changed:
/FontName
/PostScript.FSType
/PostScript.OrigFontType
/PostScript.OrigFontName
/PostScript.OrigFontStyle
/FontInfo.version
/FontInfo.Notice
/FontInfo.Copyright
/FontInfo.FullName
/FontInfo.FamilyName
/FontInfo.Weight
/FontInfo.isFixedPitch
/UniqueID
/XUID
I think these fields must be kept, because they affect the rendering:
/StrokeWidth
/PaintType
/CharstringType
/FontMatrix
/Encoding
/CharStrings
/Private.BlueValues
/Private.OtherBlues
/Private.FamilyBlues
/Private.FamilyOtherBlues
/Private.BlueScale
/Private.BlueShift
/Private.BlueFuzz
/Private.StdHW
/Private.StdVW
/Private.StemSnapH
/Private.StemSnapV
/Private.Subrs
/Private.GlobalSubrs
/Private.defaultWidthX
/Private.nominalWidthX
I'm not sure about these fields:
/FontInfo.ItalicAngle
/FontInfo.UnderlinePosition
/FontInfo.UnderlineThickness
/FontBBox
/BaseFontName
/BaseFontBlend
/Private.ForceBold
/Private.LanguageGroup
/Private.ExpansionFactor
/Private.initialRandomSeed
/Private.unknown12015
So, which of the fields above do and which of them don't make a visual difference in rendering, when the font is used in a PDF file?