选择第一个可用的字体 XeTeX

选择第一个可用的字体 XeTeX

如何从合适的字体列表中选择第一个可用的字体?

目前我\setmainfont{Liberation Serif}在 Ubuntu 和\setmainfont{Times New Roman}Windows 环境中使用命令。我想自动选择字体。如果\setmainfont可以接受多种字体,例如\setmainfont{Liberation Serif, Times New Roman},那就太完美了,但它不能。我正在寻找任何一种解决方法。

更新是否可以检查字体是否可用?或者有办法捕获未处理的异常吗fontspec error: "font-not-found"

答案1

我认为你正在寻找ifplatform包裹。

必须启用 Shell 转义才能使此功能正常工作,但请尝试以下操作:

\documentclass{article}
\usepackage{ifplatform}
\usepackage{polyglossia}
\usepackage{fontspec}   
\iflinux
\setmainfont{Liberation Serif}
\else
\ifwindows
\setmainfont{Times New Roman}
\fi
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\end{document}

仅供参考,还有ifxetex,它可以根据您选择的排版引擎来设置字体、编码等。

相关内容