Objective and Workflow

I want to produce a PDF/A-2b compliant PDF document with pdfLaTeX using the Package pdfx. The target document includes PDF vector images, which are exported from SVG sources with Inkscape 0.91 using Save As and leaving Convert texts to paths unchecked. Those vector images contain text with ligatures, such as the one resulting from the character combination "ff". Of course, a font supporting ligatures, Linux Biolinum TrueType in my case, is used. For PDF/A validation, I use the 3-Heights™ PDF Validator Online Tool. See also the example set of files.


Both the exported PDF vector image and the target PDF document created with pdfLaTeX, which includes the vector image, cause the following validation problem:

The key CIDToGIDMap is required but missing.

Without using ligatures in the text, the PDF file contains only the embedded subset:

  • LinBiolinum with Type: TrueType and Encoding: Ansi

When using ligatures, the PDF file contains an additional embedded subset:

  • LinBiolinum with Type: TrueType (CID) and Encoding: Identity-H

The validation problem occures if and only if the second subset is added, i. e., the use of ligatures causes a second font subset to be included in the PDF, which then causes the PDF/A validation issue. Another tool, veraPDF, associates it to Rule


How can the described workflow be adapted to use SVG images including text with ligatures while preserving PDF/A compatibility?

  • 1
    In Linux Biolinum, the ff ligature is named f_f rather than ff. This is perfectly OK, and is quite common among Open Type fonts. However, the file glyphtounicode.tex only has an entry for ff, not f_f. Could this be the cause of the problem? If it is, then the list could be enhanced by adding a number of common ligature names of this kind. – user103221 Oct 2 '16 at 14:55
  • Interesting hint. How exactly is glyphtounicode.tex involved in the described process? Other ligatures such as Qu are affected as well. – s4ndm4n Oct 4 '16 at 11:14
  • Technically, I do not know. I just see and do. The glyphtounicode file is a list of glyph names and their Unicode values. The glyph named ff is a standard, and is supposed to occupy a particular Unicode point. It is listed in the file. But f_f is not standard and has no Unicode point of its own, although it might be placed at ff. It is not listed in the file. Same for Q_u, f_f_l, T_h, and others. No real limit. What glyphtounicode does is show which multiple Unicode characters are the decomposed ligature. Open the file and look, especially at ff. I believe you can add your own. Try it. – user103221 Oct 5 '16 at 2:45

So far I know of no TeX-based software that creates or otherwise handles CIDToGIDMap streams. They are needed particularly with CJK fonts, as used in documents produced with XeLaTeX. This is one of the last few hurdles that prevent generating PDF/A-conforming CJK documents with XeLaTeX.

Proper support is something that I want to incorporate into pdfx.sty, so I'm looking for examples to aid in development. Could you possibly send me a small-ish example document which shows the problem in a non-CJK setting? (ross.moore@mq.edu.au)

  • I added an example set of files to the question. – s4ndm4n Jan 12 '17 at 15:24

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .