2

I need to produce a PDF/A document with pdfx, and it seems to crash pdflatex on my document. It took me quite some time to isolate the issue and produce a minimal (not) working example:

\documentclass{article}

\usepackage[a-1b]{pdfx}
\usepackage{pigpen}

\begin{document}
{\pigpenfont A}
\end{document}

Here is the output of pdflatex

...
Package hyperref Message: Driver: hpdftex.

(/usr/local/texlive/2015/texmf-dist/tex/latex/hyperref/hpdftex.def
(/usr/local/texlive/2015/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/local/texlive/2015/texmf-dist/tex/latex/hyperref/puenc.def)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/inputenc.sty)
(/usr/local/texlive/2015/texmf-dist/tex/latex/pdfx/8bit.def)
**pdfx: No file test.xmpdata . Metadata will be incomplete!
<<sRGB_IEC61966-2-1_black_scaled.icc>>
(/usr/local/texlive/2015/texmf-dist/tex/latex/pdfx/8bit.def)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/utf8.def
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/omsenc.dfu))
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/utf8.def
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/omsenc.dfu))
(/usr/local/texlive/2015/texmf-dist/tex/generic/pdftex/glyphtounicode.tex)
(/usr/local/texlive/2015/texmf-dist/tex/latex/pdfx/glyphtounicode-cmr.tex)
(/usr/local/texlive/2015/texmf-dist/tex/latex/xmpincl/xmpincl.sty
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/ifthen.sty))
(/usr/local/texlive/2015/texmf-dist/tex/latex/pdfx/8bit.def)
Using XMP template file: pdfa.xmp
<<pdfa.xmpi>>) (/usr/local/texlive/2015/texmf-dist/tex/latex/pigpen/pigpen.sty
(/usr/local/texlive/2015/texmf-dist/tex/latex/pigpen/pigpen.tex)) (./test.aux)
(/usr/local/texlive/2015/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2015/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
(./test.out) (./test.out) [1] (./test.aux) )</usr/local/texlive/2015/texmf-dist
/fonts/type1/public/amsfonts/cm/cmr10.pfb><</usr/local/texlive/2015/texmf-dist/
fonts/type1/public/pigpen/pigpen.pfa>>Assertion failed: (fo->fd->builtin_glyph_names != NULL), function write_fontdictionary, file ../../../texk/web2c/pdftexdir/writefont.c, line 539.
Abort trap: 6

I need pigpen only for the symbol "┘" (I use it in some commutative diagrams). Is there some workaround?

Thank you very much.

Update. \large$\lrcorner$ kind of looks like {\pigpenfont A}, but hopefully someone can explain me what is going on with pdfx...

1

For a single character you can go with a picture:

\documentclass{article}

%\usepackage[a-1b]{pdfx}
\usepackage{pigpen}
\usepackage{pict2e}

\DeclareRobustCommand{\pigpenA}{%
  \begingroup\setlength{\unitlength}{1em}%
  \linethickness{.075em}%
  \begin{picture}(1,.8)
  \roundcap\roundjoin
  \polyline(.2,.2)(.8,.2)(.8,.8)
  \end{picture}%
  \endgroup
}

\begin{document}
X{\pigpenfont A}X

X\quad X

X\pigpenA X
\end{document}

enter image description here

And it works with pdfx:

\documentclass{article}

\usepackage[a-1b]{pdfx}
\usepackage{pict2e}

\DeclareRobustCommand{\pigpenA}{%
  \begingroup\setlength{\unitlength}{1em}%
  \linethickness{.075em}%
  \begin{picture}(1,.8)
  \roundcap\roundjoin
  \polyline(.2,.2)(.8,.2)(.8,.8)
  \end{picture}%
  \endgroup
}

\begin{document}
X\pigpenA X
\end{document}

enter image description here

Apparently the font uses calls that are not allowed with the PDF/X format.

  • Thank you! I found \lrcorner in the AMS package, which looks kind of similar, so I think I will stick to that. Now my document compiles, but the output is not standard-compliant. I guess producing correct PDF/A with pdflatex is tricky... – user45435 Jun 24 '17 at 22:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy