也许这个问题已经被问过了,但我找不到答案。
我刚刚切换到 XeTeX,因为我需要在项目中使用 .ttf 字体。除了字体中缺少欧元 (€) 符号外,其他一切都正常。我如何告诉 XeTeX 仅对该字符使用不同的字体?
有人指出ucharclasses
,但我不明白如何设置它来做我需要的事情(此外,我不确定它是否是我正在寻找的,因为它处理的是文本块,而不是单个字符)
以下是我当前的设置:
\usepackage[math-style=ISO, bold-style=ISO]{unicode-math}
\setmainfont{Simoncini Garamond}
\setsansfont{TeX Gyre Heros}
\setmathfont{Garamond-Math.otf}[StylisticSet={7,9}]
答案1
最简单的解决方案是找到具有良好 € 字形的字体,比如“最佳字体”。
现在添加
\usepackage{newunicodechar}
到你的软件包列表,并在你的字体设置之后,神奇的公式
\newfontfamily{\eurofont}{Best Font}[Scale=MatchUppercase]
\newunicodechar{€}{{\eurofont €}}
在文档中输入€
即可。你可能需要使用间接方法:
\newfontfamily{\eurofont}{Best Font}[Scale=MatchUppercase]
\DeclareRobustCommand{\EUR}{{\eurofont €}}
\newunicodechar{€}{\EUR}
以便也能够\EUR
为字形打字。