Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.3
-
None
Description
According to the Adobe PDF Reference Specification (see page 356), a font descriptor should use the PostScript name of the font as the value of the FontName entry, to wit:
The PostScript name of the font. This should be the same as the value of BaseFont in the font or CIDFont dictionary that refers to this font descriptor.
What QPDFWriter does instead is use the complete path to the font file on Windows, e.g. for our OpenType PS font Bravura:
Windows: /FontName /QOAAAA+C:\WINDOWS\FONTS\BRAVURA_0.OTF
macOS: /FontName /QTAAAA+Bravura
The presence of the QOAAAA+ and QTAAAA+ prefixes is appropriate because the embedded font is a subset (per section 5.5.3 of the specification), but I believe according to the PDF specification, the Windows name should match the macOS one.
Using the full path to the font has the consequence that if you open the resulting PDF file in Adobe Illustrator, the font will be reported as not being found on the system, even if the font file is installed.
Is there a good reason why the FontName entry is written in this fashion on Windows? It appears to be out of spec.