我正在切换到 XeLaTeX,但在为文档选择西里尔文(俄语)字体时遇到了问题。如果我尝试
\documentclass[a4paper,12pt]{report}
\usepackage{polyglossia}
\setdefaultlanguage{russian}
\begin{document}
Hi! Привет!
\end{document}
抛出一个错误:
Package polyglossia Error: The current roman font does not contain the Cyrillic script!
据我所知,我必须明确指定字体。不幸的是,我对字体几乎一无所知,也没有指南可以遵循。OS X 中推荐的西里尔字体是什么?这是一种经验法则,可以设定然后忘掉。
答案1
好消息是,有很多 opentype 字体系列提供完整的西里尔字母,并且易于与 XeLaTeX(和 LuaLaTeX)一起使用。坏消息是,您可能需要花一些时间进行选择哪个字体系列最适合您的需求。MacOS X 提供了相当多的此类字体系列;下载和激活其他字体也相当容易——高质量且免费——这些字体可能比 MacOS X 预装的字体更适合您的需求。
您应该熟悉的主要字体相关包名为fontspec
。它提供了命令\setmainfont
,以及更多命令。
MacOSX 提供了一个名为的应用程序FontBook
。FontBook
提供了一种方便(虽然很慢)的方法来检查所有已安装字体的各种特性,包括给定字体中是否包含西里尔字符。
以下是具有西里尔字符的字体系列的完全非代表性样本。有些字体应该已安装在您的系统上,而其他字体(例如 EB Garamond 和 XITS)可能需要先下载并激活。
%% !TEX TS-program = xelatex
\documentclass[a4paper,12pt]{report}
\usepackage{fontspec}
\setmainfont{lmroman10-regular.otf}
\usepackage{polyglossia}
\setdefaultlanguage{russian}
\newcommand\hi{Hi! Привет!\newline}
\begin{document}\pagestyle{empty}
\noindent Some serif fonts\newline
\noindent%
\setmainfont{Garamond Premier Pro}\hi
\setmainfont{EB Garamond} \hi
\setmainfont{Arno Pro} \hi
\setmainfont{XITS} \hi
\setmainfont{Cambria} \hi
\setmainfont{Minion Pro} \hi
\bigskip\noindent%
\setmainfont{lmroman10-regular.otf}%
Some sans-serif fonts\newline
\setmainfont{Calibri} \hi
\setmainfont{Arial}\hi
\setmainfont{Myriad Pro} \hi
\end{document}