pdf-association / pdf-issues

Industry-based resolutions for issues and errata reported against any PDF-related specification
https://pdf-issues.pdfa.org/
65 stars 2 forks source link

Clarification about font program - 9.7.4.2 Glyph selection in CIDFonts #476

Open datalogics-josepha opened 1 month ago

datalogics-josepha commented 1 month ago

9.7.4.2 Glyph selection in CIDFonts

If the TrueType font program is not embedded but is referenced by name, and the Type 2 CIDFont dictionary contains a CIDToGIDMap entry, the CIDToGIDMap entry shall be ignored, since it is not meaningful to refer to glyph indices in an external font program. In this case, CIDs shall not participate in glyph selection, and only predefined CMaps may be used with this CIDFont (see 9.7.5, "CMaps"). The PDF processor shall select glyphs by translating characters from the encoding specified by the predefined CMap to one of the encodings in the TrueType font’s "cmap" table. The means by which this is accomplished are implementation-dependent.

As I begin reading this paragraph I realize we're talking about unembedded fonts, so there's no TrueType font program to speak of. Then by the end simply saying

...in the TrueType font's "cmap" table

makes me think I missed something.....but after discussing with @datalogics-pgallot I realize we're most likely, simply referring to a font looked up on the OS. I think a simple clarification is all that's needed here.

petervwyatt commented 1 month ago

I think what you're implying is that more "external" clarifications are needed. Like this (added words are bold)?

If the TrueType font program is not embedded but is referenced by name, and the Type 2 CIDFont dictionary contains a CIDToGIDMap entry, the CIDToGIDMap entry shall be ignored, since it is not meaningful to refer to glyph indices in an external font program. In this case, CIDs shall not participate in glyph selection, and only predefined CMaps may be used with this CIDFont (see 9.7.5, "CMaps"). The PDF processor shall select glyphs by translating characters from the encoding specified by the predefined CMap to one of the encodings in the external TrueType font’s "cmap" table. The means by which this is accomplished are implementation-dependent.