使用带有 UTF-8 源的 helvet 包

使用带有 UTF-8 源的 helvet 包

我正在尝试在使用 XeLaTeX 创建的文档中使用 Helvetica 克隆,并且我需要能够在我的文档中使用各种相当基本的 Unicode 字符(特别是“粗俗”的分数字形,如 ¼、½ 和 ¾)。这是一个 MWE:

\documentclass{article}
\usepackage{fontspec}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault}
\begin{document}
\textsf{Touché 3¼}
\end{document}

所选字体是 Nimbus Sans L,它与 Helvetica 非常接近,可以满足我的需求。但是,当我处理它时,PDF 输出显示“Touché 3ij”——“é”可以正常工作,但“¼”不行。我尝试删除 and fontspec/orinputenc行,但没有效果;删除该fontenc行会导致文档恢复为 Computer Modern。

我并不执着于使用该helvet软件包,如果我手动加载字体,我会得到我想要的所有字形,所以问题似乎不在我的 Nimbus Sans L 字体上。但是,字体不再像软件包那样缩放 95%。helvet这意味着它明显比文档中的其他文本大。这是一个 MWE:

\documentclass{article}
\usepackage{fontspec}
\setsansfont{Nimbus Sans L}
\renewcommand\familydefault{\sfdefault}
\begin{document}
\textsf{Touché 3¼}
\end{document}

我并不介意修复第一个 MWE 以包含我想要的所有字形,或者修复第二个 MWE 以缩放字体。我尝试将其添加到第二个 MWE,但完全没有效果:

\usepackage{relsize}
\relscale{0.95}

有人可以帮忙吗?

答案1

在此处输入图片描述

您可以使用声明缩放字体fontspec,例如,这可确保小写字母匹配:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\setsansfont[Scale=MatchLowercase]{Nimbus Sans L}
%\renewcommand\familydefault{\sfdefault}
\begin{document}
Abc \textsf{Touché 3¼}
\end{document}

切勿将 T1 编码与 xelatex 一起使用,因为它会完全破坏连字,因为 xelatex 仅为 TU 编码加载连字模式。

(我注释掉了重置默认系列,以便更容易比较小写字母的大小)

相关内容