在 lualatex 和 xelatex 中使用 TeX Gyre Termes 表达希腊语

在 lualatex 和 xelatex 中使用 TeX Gyre Termes 表达希腊语
\documentclass[11pt,a4paper]{scrartcl}

\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}

\begin{document}
This is English with some Greek: γέγονεν.
Isn't that quite nice? εὕρηκα!
\end{document}

使用 XeLaTeX 输出:

这是英语加上一些希腊语:γέγονεν。这不是很棒吗?ε�ρηκα!

使用LuaLaTeX输出:

这是英语加上一些希腊语:γγονεν。这不是很棒吗?ερηκα!


似乎 XeLaTeX 中缺少 ὕ(可能是因为它不是字体的一部分),但有 έ。LuaLaTeX 中缺少这两个字符。有没有关于如何让 LuaLaTeX 找到 έ 的建议?

答案1

作为斯韦雷说,这里的基本问题是字体不支持希腊语。此外,您没有加载任何包来实际处理多语言排版,即 Babel 或 Polyglossia。

例如,以下内容适用于 LuaLaTeX:

\documentclass[11pt,a4paper]{scrartcl}
\usepackage{polyglossia}
\setmainlanguage[variant=british]{english}
\setotherlanguage{greek}
\usepackage{fontspec}
\setmainfont{GFS Artemisia}[Ligatures=TeX]
\newfontfamily\greekfont{GFS Artemisia}[Ligatures=TeX,Script=Greek]

\begin{document}
  This is English with some Greek: \textgreek{γέγονεν}.
Isn't that quite nice? εὕρηκα!
\end{document}

GFS 蒿属

GFS 字体均提供希腊文,因为它们来自希腊字体协会。但是,上述示例在 XeLaTeX 中无法正常工作。

相比之下,GFS Bodoni 可以与 XeLaTeX 或 LuaLaTeX 配合使用:

\documentclass[11pt,a4paper]{scrartcl}
\usepackage{polyglossia}
\setmainlanguage[variant=british]{english}
\setotherlanguage{greek}
\usepackage{fontspec}
\setmainfont{GFS Bodoni}[Ligatures=TeX]
\newfontfamily\greekfont{GFS Bodoni}[Ligatures=TeX,Script=Greek]

\begin{document}
  This is English with some Greek: \textgreek{γέγονεν}.
Isn't that quite nice? εὕρηκα!
\end{document}

GFS 博多尼

当然,您仍然可以使用 TeX Gyre Termes 作为拉丁文字的主要字体,但您需要考虑选择一种希腊文字的补充字体。因此,如果您能找到一种既支持拉丁文字又支持希腊文字的字体,生活可能会更轻松。

我认为 XITS 可以作为 Termes 的一个很好的替代品,因为它们都是 Times 的克隆版。但不幸的是,XITS 无法为 XeLaTeX 或 LuaLaTeX 提供正确的输出,因此它似乎不是一个好的选择,尽管它声称支持希腊语。

答案2

TeX Gyre Termes 对希腊语的支持非常有限。您可以尝试 Tempora 字体,它刚刚包含在今天的更新中的 TeX Live 中。

\documentclass[11pt,a4paper]{scrartcl}

\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Tempora}

\begin{document}

This is English with some Greek: γέγονεν.

Isn't that quite nice? εὕρηκα!

\end{document}

在此处输入图片描述

polyglossia对于单个单词,您直接输入即可;对于更复杂的短语或完整的句子,强烈建议使用命令或环境标记文本。

更新

截至今天 (2015-10-01) 的更新,Tempora 似乎也适用于 LuaLaTeX

\documentclass[11pt,a4paper]{scrartcl}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage[variant=ancient]{greek}

\setmainfont{Tempora}
%\newfontfamily\greekfont[Script=Greek]{Tempora}

\begin{document}
This is English with some Greek: \textgreek{γέγονεν}.

Also without \verb|\textgreek|: γέγονεν

Isn't that quite nice? \textgreek{εὕρηκα}!

\end{document}

在此处输入图片描述

答案3

该字体TeX Gyre Termes没有希腊字符U+03AD“GREEK SMALL LETTER EPSILON WITH TONOS”。

如果你愿意,你可以通过添加U+0301“COMBINING ACUTE ACCENT”来伪装它:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\begin{document}
This is English with some Greek: γε\char"0301γονεν.
\end{document}

生成:

在此处输入图片描述

重音看起来不太正确,但这是因为字体也没有U+0384“希腊语音调”,而你通常会用它表示希腊语。正如你所理解的,你根本就不应该使用 TeX Gyre Termes 表示希腊语。你应该选择另一种字体。

相关内容