如何从合适的字体列表中选择第一个可用的字体?
目前我\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
,它可以根据您选择的排版引擎来设置字体、编码等。