我想在 XeLaTeX 文档中输入以下题词(https://epigraphy.packhum.org/text/145737?hs=50-58):
问题在于(例如)红色矩形内的单词,它被错误地呈现为
通过这个MWE:
%to be compiled with XeLaTex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontfamily\altfont{Segoe UI Symbol}% Gentium Plus KadmosU Code2000 Segoe UI Symbol
\DeclareTextFontCommand{\textaltfont}{\altfont}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Gentium Plus}
\begin{document}
\begin{greek}
ἀσστοῖ[ς] καὶ χσέˉνοισι ξείνοισι φανὲˉς φίλος̣ [εἰμὶ \textaltfont{⏑} – ×]
[ὅ]ς πο[τ’] ἀρισστεύοˉν ἐν προμάχοις [ἔθανεν].
\end{greek}
\end{document}
分析上述网站的源代码,您可以看到该词被输入为“χσέˉνοισι”。因此,网络工具似乎能够正确呈现文本。如何使用 XeLaTeX 实现同样的效果?提前感谢任何线索。
答案1
你必须使用结合字符而不是修饰符。
因此组合ε̄́
可以输入为
U+03B5 U+0304 U+0301
即 epsilon,结合 macron 和结合 sharp (oxia)。对于 也类似ε̄̀
,即
U+03B5 U+0304 U+0300
因为 U+0300 是组合符号。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontfamily\altfont{Junicode}%Segoe UI Symbol}% Gentium Plus KadmosU Code2000 Segoe UI Symbol
\DeclareTextFontCommand{\textaltfont}{\altfont}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Gentium}
\begin{document}
\begin{greek}
ἀσστοῖ[ς] καὶ χσε̄́νοισι ξείνοισι φανε̄̀ς φίλος̣ [εἰμὶ \textaltfont{⏑} – ×]
[ὅ]ς πο[τ’] ἀρισστεύο̄ν ἐν προμάχοις [ἔθανεν].
\end{greek}
\end{document}
我必须更改字体才能在我的系统上获得输出。