LaTeX n00b,如果这是一个愚蠢的问题,请原谅我。
我试图遵循这里的答案:如何从特定字体中选择特定符号?
我的代码目前是:
\newfontfamily\wingdingsfont[Path=C:/Windows/Fonts/, Extension=.ttf]{wingding}
\newcommand\wingdings[1]{{\wingdingsfont\symbol{#1}}}
...
\fonttable{wingding}
当我尝试生成文件时,出现错误:
! error: (file C:/WINDOWS/Fonts/wingding.ttf) (type 2): there are no glyphs in
the subset
! ==> Fatal error occurred, no output PDF file produced!
字体的名称是正确的(使用 打印-ls
,并且没有出现font cannot be found
错误),但我也尝试过Wingdings
和wingdings
。
C:\Windows\Fonts>ls -la
...
-rw-rw-rw- 2 user 0 82180 2019-03-19 05:44 wingding.ttf
如果我尝试使用不同的字体(例如)Inkfree.ttf
,文件将生成,并且字形表将正确加载和显示。
我是否表达Wingdings
错了,或者有什么我没理解?
我在 Windows 10 上,LuaTeX,版本 1.11.2(MiKTeX 2.9.7250 64 位)
谢谢
答案1
wingdings 不是 unicode 编码的。字形编号比字体表预期的要高得多。如果您查看 lua,您会发现第一个字形的编号为 61472。
\documentclass{article}
\usepackage{expl3}
\begin{document}%
\raggedright
\font\myfont = "Wingdings"
\ExplSyntaxOn
\int_step_inline:nnn {61472}{61695}
{
\makebox[5em]{#1:\hfill \myfont\char#1}\quad
}
\ExplSyntaxOff
\end{document}