下面将列出所有字体,但我想更进一步并提供每种字体的样本。
ConTeXt 如何以各自的字体呈现每种字体?也许 LuaTeX 可以胜任这个工作?
http://wiki.contextgarden.net/Font_Switching建议另外三篇文章,但我不知道哪一篇是相关的。
% When you want list of all fonts in the database you can do this with
% a few macros in your document which are provided for this purpose.
% nofruns=1
\setupbodyfont[10pt]
\starttext
\dolookupfontbyspec{filename=*}
\starttabulate
\dorecurse{\dolookupnoffound}
{\expanded{\NC \dolookupgetkeyofindex{fontname}{\recurselevel} \EQ \dolookupgetkeyofindex{filename}{\recurselevel} \NC\NR}}
\stoptabulate
\stoptext
答案1
使用\definedfont[file:<filename>]
。或者,\definedfont[name:<fontname>]
也是可能的,但这样你只是指示字体加载器再次进行字体名称到文件名的解析,这是毫无意义的,因为你已经有了文件名。更多信息可以在»ConTeXt 字体«又名汉斯的新字体手册。
这很可能要花很长时间,而且可能无法排版,因为有些字体包含错误或不包含可打印字符。例如,在我的 TL 2016 安装中,我收到错误
! error: (file /usr/local/texlive/2016/texmf-dist/fonts/afm/urw/avantgar/uagbi8a.afm) (cff): could not understand Type1 font: /usr/local/texlive/2016/texmf-dist/fonts/afm/urw/avantgar/uagbi8a.afm
并且没有页面输出。对于前 100 个页面,它运行正常,我在下面附上了此输出的第一页。
\setupbodyfont[10pt]
\starttext
\dolookupfontbyspec{filename=*}
\starttabulate[|l|l|l|l|]
\dorecurse{\dolookupnoffound}{
\expanded{
\NC \recurselevel
\NC \dolookupgetkeyofindex{fontname}{\recurselevel}
\EQ \dolookupgetkeyofindex{filename}{\recurselevel}
\EQ \definedfont[file:\dolookupgetkeyofindex{filename}{\recurselevel}] My test text
\NC\NR
}
}
\stoptabulate
\stoptext