我正在尝试在 LaTeX 文档中使用 OCR-A 字体来嵌入短代码。
我终于让它读取我安装的系统字体了(我想是ocr-a-字体),它在我尝试过的任何其他应用程序中都运行良好,包括 GIMP、Inkscape 和 Synfig。
当我尝试在 LaTeX 文档中使用它时,我只看到大写字母和数字字符。
{\fontfamily{ocra}\fontseries{m}\fontshape{n}\selectfont [xxxx-xxxx] }
该文档是一份article
,其中包含hyperref
、enumitem
和tikz
,我正在使用 进行编译pdflatex
。
MWE(需要安装字体,所以我不知道它有多大用处)
% mwe.tex
\documentclass{article}
\begin{document}
{\fontfamily{ocra}\fontseries{m}\fontshape{n}\selectfont aBcD-0123 }
\end{document}
当用 进行编译时pdflatex mwe.tex
,我只看到BD-0123
。
有人知道是什么原因造成的,以及如何解决吗?
答案1
我从该站点下载了 OCRA.pfa 和 OCRA.afm,获得了(不太令人满意的)结果;然后我修改了 OCRA.afm 中 z 的条目,将其更改enc-122
为z
。
在同一目录中运行afm2tfm OCRA.afm
并准备文件
\documentclass{article}
\usepackage{fonttable}
% make the pfa file known to pdftex
\pdfmapline{+OCRA < OCRA.pfa}
% create a new font family
\DeclareFontFamily{U}{OCRA}{}
\DeclareFontShape{U}{OCRA}{m}{n}{<->OCRA}{}
\begin{document}
\xfonttable{U}{OCRA}{m}{n}
\end{document}
产生以下输出。
因此你的文档可以
\documentclass{article}
% make the pfa file known to pdftex
\pdfmapline{+OCRA < OCRA.pfa}
% create a new font family
\DeclareFontFamily{U}{OCRA}{}
\DeclareFontShape{U}{OCRA}{m}{n}{<->OCRA}{}
\begin{document}
{\usefont{U}{OCRA}{m}{n}aBcD-0123}
\end{document}
、.tfm
和.pfa
文件可以移动到 TeX 系统已知的目录中,例如
/usr/local/texlive/texmf-local/fonts/tfm/ocra/ocra.tfm
/usr/local/texlive/texmf-local/fonts/type1/ocra/ocra.pfa
(注意大小写的变化)然后你就可以制作一个小包装:
\ProvidesPackage{ocra}
\pdfmapline{+ocra < OCRA.pfa}
\DeclareFontFamily{U}{ocra}{}
\DeclareFontShape{U}{ocra}{m}{n}{<->ocra}{}
\DeclareRobustCommand{\ocratext}{\usefont{U}{ocra}{m}{n}}
\DeclareTextFontCommand{\textocra}{\ocratext}
另存为/usr/local/texlive/texmf-local/tex/latex/ocra/ocra.sty
。
以超级用户身份运行mktexlsr
,然后您的文档就可以
因此您的文档可以成为
\documentclass{article}
\usepackage{ocra}
\begin{document}
\textocra{aBcD-0123}
\end{document}