我想在当前文档中使用 pdflatex 和 lualatex 中的以下字体
https://ctan.org/tex-archive/fonts/cryst
以下 MWE 编译成功
\documentclass{article}
\usepackage{tikz}
\DeclareFontFamily{U}{cry}{\hyphenchar\font=-1}
\DeclareFontShape{U}{cry}{m}{n}{ <-> cryst}{}
\newcommand{\cry}[1]{{\usefont{U}{cry}{m}{n} \symbol{#1}}}
\begin{document}
\begin{tikzpicture}
\node (a) at (0,0) {\cry{2}};
\end{tikzpicture}
\end{document}
但是现在我只得到一个位图字体
日志文件仅包含一行晶体文件:
/Users/hotschke/Library/texlive/2018/texmf-var/fonts/pk
/ljfour/public/cryst/cryst.600pk
最重要的是我的打印机只打印以下错误
ERROR: limitcheck
OFFENDING COMMAND: imagemask
STACK:
(r)
(Sys/Start)
(Sys/Start)
我在 macOS 10.14 上安装了 MacTeX 2018。
据我了解,这个问题在 miktex 2.9 中加载自定义字体关于在 MikTeX 上使用“cryst”,自述字体‘cryst’已经过时。
有人能帮我在 texmf 本地目录中正确配置它吗?
据我所知,macOS 上默认的 texmf 本地基目录是
$HOME/Library/texmf
/usr/local/texlive/texmf-local/
看这里了解为什么你应该不是将字体安装到您的主文件夹中。其他文件(如软件包)可能没问题(http://tug.org/mactex/faq/faq.html#atqm05down)。
这里给出了如何安装字体的一般描述:
https://www.tug.org/fonts/fontinstall.html
网站https://www.tug.org/fonts/fontinstall-personal.html还警告两次关于将字体安装到个人文件夹中。
我已按照 README 的前四个步骤将相关文件复制到 texmf 本地树中:
❯ TEXMFLOCAL=$(kpsewhich -var-value=TEXMFLOCAL)
❯ echo $TEXMFLOCAL
/usr/local/texlive/texmf-local
❯ mkdir -p $TEXMFLOCAL/fonts/{tfm,source,afm,type1}/cryst1
❯ cp $(kpsewhich cryst.tfm) $TEXMFLOCAL/fonts/tfm/cryst1/
❯ cp $(kpsewhich cryst.mf) $TEXMFLOCAL/fonts/source/cryst1/
❯ cp $(kpsewhich cryst.afm) $TEXMFLOCAL/fonts/afm/cryst1/
❯ cp $(kpsewhich cryst.pfb) $TEXMFLOCAL/fonts/type1/cryst1/
/usr/local/texlive/texmf-local
❯ tree -P '*cryst*' --prune
.
└── fonts
├── afm
│ └── cryst1
│ └── cryst.afm
├── source
│ └── cryst1
│ └── cryst.mf
├── tfm
│ └── cryst1
│ └── cryst.tfm
└── type1
└── cryst1
└── cryst.pfb
9 directories, 4 files
现在,我不确定如何更新文件
config.ps
(针对 dvips)p +cryst1.map
pdftex.cfg
对于 pdftexmap +cryst1.map
- 以及我必须为 lualatex 做些什么。
更新摘录自述文件(无需复制文件的‘简单’步骤):
Tell dvips (for PostScript output) where to find the files.
To this end, insert the following line into the file config.ps:
p +cryst1.map
(config.ps is in a directory like \texmf\dvips\config
or /usr/share/texmf/dvips/config).
If you use pdfTeX, insert
map +cryst1.map
to your pdftex.cfg file
(in \texmf\pdftex\config or /usr/share/texmf/pdftex/config).
Create a new file cryst1.map in a new subdirectory of the directory
of map files (e.g. \texmf\dvips\cryst1 or /usr/share/texmf/dvips/cryst1).
The file cryst1.map consists of one line:
cryst cryst1 <cryst.pfb
Finally, tell TeX which new files and directories exist. This is done
by a command like
initexmf -u for MikTeX under Windows
or run texhash under root in the shell of Linux RedHat.
答案1
简单的方法是将这一行添加到您的文档中:
\pdfmapline{=cryst cryst1 <cryst.pfb}
要设置地图文件,请创建一个cryst.map
包含内容的小文件
cryst cryst1 <cryst.pfb
把它放进去texmf-local/fonts/map/cryst
然后在命令行上运行
mktexlsr
和
updmap-sys --enable Map=cryst.map