我注意到在使用 LuaLaTeX 加载 TeX Gyre 字体时存在问题,因为如果通过字体名称调用该字体,则会错过西里尔字母的加载:
\setmainfont{TeX Gyre Adventor}
如果通过文件名调用,则可以正确加载
\setmainfont{texgyreadventor-regular.otf}
显然,最后一种方法不能加载整个字体系列,而且我会错过斜体和粗体字体。
这就是我通过字体名称调用的
这就是我通过文件名调用的
这是前面示例使用的代码
\documentclass{article}
\usepackage{fontspec}
\newif\ifTeXGyre
\TeXGyretrue
\ifTeXGyre
\setmainfont{TeX Gyre Adventor}
\else
\setmainfont{texgyreadventor-regular.otf}
\fi
\setlength{\parindent}{0pt}
\begin{document}
Hello, world\par
Здравствуй, Мир\par
{\itshape
Hello, world\par
Здравствуй, Мир\par
}
{\bfseries
Hello, world\par
Здравствуй, Мир\par
}
{\itshape\bfseries
Hello, world\par
Здравствуй, Мир\par
}
\end{document}
答案1
实际上,对我来说,两者都不起作用。其他 tex gyre 字体 (tex gyre pagella) 也是如此。查看 texlive 2015 提供的字体本身,它不包含任何西里尔字母字形。
查看网站上的更新日志(http://www.gust.org.pl/projects/e-foundry/tex-gyre/adventor/qag-hist.txt/view) 是由于许可分歧造成的。
不幸的是,我们无法从 Valek Filippov 那里获得类似的西里尔字母字形许可,因此任何 TeX Gyre 字体中都没有西里尔字母字形。
您的文档路径中必须有一个旧版本的字体,当直接调用文件名时,您的代码会获取该版本的字体。
答案2
看来,GUST.org 2.004 版上最后一个可供下载的版本中确实删除了西里尔字母。旧版本可在字体松鼠。
原始答案不正确
我最近也遇到了类似的问题。我很惊讶地从 ArTourter 的回答中得知,西里尔字母字形因许可证问题而被删除,因为我刚刚从提供的链接下载了字体字体作者,并且我能够在其他应用程序(例如 Word 或 Adobe Illustrator)中使用其西里尔字母。您的问题让我在 fontspec 手册的第 4.2 节中查找并找到答案;它还包含如何不丢失粗体和斜体变体的秘诀。以下示例适用于我的 MikTeX 系统(我可能需要添加我使用最新的 luaotfload,2.7-fix2,并将 luatex(并且只有它)更新为 MikTeX Next 的版本,但我认为这没什么区别):
\documentclass[11pt,a4paper]{scrartcl}
%\title{TeX Gyre Heros test}
\usepackage{fontspec}
%\setmainfont[Ligatures=TeX]{Tex Gyre Heros}
\setmainfont{texgyreheros}[
Ligatures=TeX,
Extension = .otf ,
Path = /Windows/Fonts/,
UprightFont = *-regular ,
BoldFont = *-bold ,]
\begin{document}
\textbf{A test line} in Latin. Below is the test line in Cyrillic.
\textbf{Пробная строка} кириллицей. Сверху --- латиницей.
\end{document}
实际上,这并没有回答您的问题,但却使它重新活跃起来。
更新
似乎唯一的原因是字体所在的位置;如果 Lualatex 从Windows\Fonts
目录中获取字体,它对许可证限制一无所知。如果您将字体从复制TDS\fonts\opentype\public\tex-gyre
到Windows\Fonts
,下面的代码会根据路径规范给出不同的结果。所以也许答案是只有来自 *.fd 文件的信息被删除了。
\documentclass[11pt,a4paper]{scrartcl}
%\title{TeX Gyre Heros test}
\usepackage{fontspec}
\setmainfont{Tex Gyre Heros}[
Ligatures=TeX,
Path = /Windows/Fonts/, % try to comment this line
UprightFont = *-regular ,
BoldFont = *-bold ,
ItalicFont = *-italic ,
BoldItalicFont = *-bolditalic ,
]
\begin{document}
\textbf{A test line} in Latin. \emph{Below} is the test line in Cyrillic.
\textbf{Пробная строка} кириллицей. \emph{Сверху} --- латиницей.
\end{document}
现在的问题是:在 TeX Gyre 字体仍保留西里尔字母符号的情况下,下载并保存所有 TeX Gyre 字体到安全的地方是否明智?