Glifo no impreso

Glifo no impreso

Quiero crear un documento PDF atractivo a partir de una fuente TeX. El archivo TeX es principalmente texto ASCII con algunos símbolos que no son ASCII (flechas en esquemas, viñetas personalizadas que marcan elementos de la lista, jeroglíficos en el nombre del colaborador en la sección de créditos, etc.).

La fuente TeX, a su vez, es construida por Sphinx a partir de las primeras fuentes.

Los símbolos que no son ASCII no se imprimen en el PDF de salida porque no hay glifos para ellos en la fuente utilizada en todo el documento de forma predeterminada.

Entonces, hice un script de shell que escanea el directorio de instalación de TeX Live en busca de archivos .pfb, .otf y .ttf y para cada fuente encontrada crea un documento TeX como este:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{fontspec}
\usepackage{multido}

\font\testedfont="[/usr/share/texlive/texmf-dist/fonts/type1/wadalab/dgj/dgjkj.pfb]"

\font\basictextfont="cmr10"

\title{Find glyph for Unicode 80A5 in dgjkj.pfb}
\begin{document}

\newcounter{glyphslotnum}
\newcommand\findglyphslotnum{}

\newcounter{totalglyphnum}
\newcommand\findtotalglyphnum{}

Test glyphs

{\basictextfont{Font filename: dgjkj.pfb}}

\testedfont
\renewcommand\findglyphslotnum{\the\XeTeXcharglyph"80A5}
\setcounter{glyphslotnum}{\findglyphslotnum}
\renewcommand\findtotalglyphnum{\the\XeTeXcountglyphs\testedfont}
\setcounter{totalglyphnum}{\findtotalglyphnum}

%\multido{\i=0+1}{\value{totalglyphnum}\relax}{
%{\basictextfont\i:\,}{\testedfont\XeTeXglyph\i}
%}

\basictextfont
dgjkj.pfb: total \number\value{totalglyphnum} glyphs

\ifnum\value{glyphslotnum}>0{\message{Glyph for 80A5 exists in dgjkj.pfb (slot \number\value{glyphslotnum})}Glyph for Unicode 80A5 exists in dgjkj.pfb at slot \number\value{glyphslotnum}.

It looks like [{\testedfont\XeTeXglyph\value{glyphslotnum}}] (by $\backslash$XeTeXglyph) 
or [{\testedfont{\char"80A5}}] (by $\backslash$char) 
or [{\testedfont{\symbol{"80A5}}}] (by $\backslash$symbol)
}\fi

\end{document}

Da un resultado como este (copia aquí:dgjkj.pfb_U80A5.jpg): ingrese la descripción de la imagen aquí

Descomentar el bucle multido proporcionará la lista de todos los glifos en la fuente.

Encontré fuentes con glifos para todos los símbolos Unicode que necesito, pero tengo un problema con el símbolo U279C ("Flecha pesada con punta redonda hacia la derecha"). Se encontró en el archivo de fuente fonts/type1/urw/zapfding/uzdr.pfb (el mensaje "El glifo para 279C existe en uzdr.pfb (ranura 168)" se imprime durante la compilación), pero la compilación del PDF falla con un error, el resultado completo es como sigue:

This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./find_glyph_pfb_uzdr.tex
LaTeX2e <2017-04-15>
Babel <3.17> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texlive/texmf-dist/tex/generic/babel/xebabel.def
(/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def)))))
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def))
(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/tuenc.def))
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/multido/multido.sty
(/usr/share/texlive/texmf-dist/tex/generic/multido/multido.tex
 v1.42, 2010/05/14 <tvz>))
No file find_glyph_pfb_uzdr.aux.
Glyph for 279C exists in uzdr.pfb (slot 168) [1] (./find_glyph_pfb_uzdr.aux)
xdvipdfmx:fatal: pdf_ref_obj(): passed invalid object.

Output file removed.
 )
Error 256 (driver return code) generating output;
file find_glyph_pfb_uzdr.pdf may not be valid.
Transcript written on find_glyph_pfb_uzdr.log.

El registro completo se puede encontrar aquí:find_glifo_pfb_uzdr.log.

Entonces, la pregunta es: ¿qué debo hacer para imprimir ese glifo?

Actualización: el documento TeX fallido:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{fontspec}
\usepackage{multido}

\font\testedfont="[/usr/share/texlive/texmf-dist/fonts/type1/urw/zapfding/uzdr.pfb]"

\font\basictextfont="cmr10"

\title{Find glyph for Unicode 279C in uzdr.pfb}
\begin{document}

\newcounter{glyphslotnum}
\newcommand\findglyphslotnum{}

\newcounter{totalglyphnum}
\newcommand\findtotalglyphnum{}

Test glyphs

{\basictextfont{Font filename: uzdr.pfb}}

\testedfont
\renewcommand\findglyphslotnum{\the\XeTeXcharglyph"279C}
\setcounter{glyphslotnum}{\findglyphslotnum}
\renewcommand\findtotalglyphnum{\the\XeTeXcountglyphs\testedfont}
\setcounter{totalglyphnum}{\findtotalglyphnum}

%\multido{\i=0+1}{\value{totalglyphnum}\relax}{
%{\basictextfont\i:\,}{\testedfont\XeTeXglyph\i}
%}

\basictextfont
uzdr.pfb: total \number\value{totalglyphnum} glyphs

\ifnum\value{glyphslotnum}>0{\message{Glyph for 279C exists in uzdr.pfb (slot \number\value{glyphslotnum})}Glyph for Unicode 279C exists in uzdr.pfb at slot \number\value{glyphslotnum}.

It looks like [{\testedfont\XeTeXglyph\value{glyphslotnum}}] (by $\backslash$XeTeXglyph) 
or [{\testedfont{\char"279C}}] (by $\backslash$char) 
or [{\testedfont{\symbol{"279C}}}] (by $\backslash$symbol)
}\fi

\end{document}

información relacionada