![对主字体中没有的字符使用不同的字体](https://linux22.com/image/342189/%E5%AF%B9%E4%B8%BB%E5%AD%97%E4%BD%93%E4%B8%AD%E6%B2%A1%E6%9C%89%E7%9A%84%E5%AD%97%E7%AC%A6%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E5%AD%97%E4%BD%93.png)
我正在用 XeLaTeX 写一份文档,其中包含一些奇怪的 Unicode 字符,例如 █。我想要使用的主要字体是 OpenSans,我已使用
\setmainfont{OpenSans}
当我构建文档时,XeLaTeX 出现错误:
缺少字符:字体 Open Sans/OT:script=latn;language=DFLT;mapping=tex-text; 中没有 █!
是否可以配置 XeLaTeX 在遇到主字体中不存在的字符时使用其他字体?这可能是一个愚蠢的问题,但我对 LaTeX 还不熟悉。
答案1
利用乔恩在评论中链接的问题的信息,我能够实现这一点。
\setmainfont{OpenSans}
\newfontfamily{\fallbackfont}{Arial}
\DeclareTextFontCommand{\textfallback}{\fallbackfont}
\newunicodechar{█}{\textfallback{█}}