pdf-association / pdf-issues

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

confusing description of "glyph coordinates" #378

Open seehuhn opened 4 months ago

seehuhn commented 4 months ago

Most of the spec is consistent in claiming that "glyph coordinates" are mapped to text space coordinates by applying the matrix [0.001 0 0 0.001 0 0] (except for Type 3 fonts, where the Type 3 font matrix is used). In this light, the following text is section 9.2.4 (Glyph positioning and metrics) makes little sense:

The glyph coordinate system is the space in which an individual character’s glyph is defined. All path coordinates and metrics shall be interpreted in glyph space.

What are path coordinates here? If this refers to the paths which make up the glyph outline, the quotes statement is often wrong, since many font formats define their own coordinate system, which may not have 1000 units per em (for example using the FontMatrix field in a type 1 font, or the unitsPerEm value in an OpenType head table). This is even partially acknowledged in Note 3 in the same section ("Due to differences in the way that TrueType and the Widths array store width information, there can be cases where widths are not identical between the two. TrueType stores widths in units of 1024 or 2048 to an Em").

My suggestion would be to:

petervwyatt commented 3 months ago

I'm having trouble locating where you get this information - could you please give me a reference?

Most of the spec is consistent in claiming that "glyph coordinates" are mapped to text space coordinates by applying the matrix [0.001 0 0 0.001 0 0]

seehuhn commented 3 months ago

This can be found, for example, in section 9.2.4 (Glyph positioning and metrics), just above figure 54:

The glyph coordinate system is the space in which an individual character’s glyph is defined. All path coordinates and metrics shall be interpreted in glyph space. For all font types except Type 3, the units of glyph space are one-thousandth of a unit of text space; for a Type 3 font, the transformation from glyph space to text space shall be defined by a font matrix

There is also a mention of this is section 8.3.2.4 (Other coordinate spaces):

The transformation from glyph space to text space shall be defined by the font matrix. For most types of fonts, this matrix shall be predefined to map 1000 units of glyph space to 1 unit of text space; for Type 3 fonts, the font matrix shall be given explicitly in the font dictionary.