我想在我的某个文档中使用 Apple 的 SF Pro Display 字体,但是它会创建一个不太好看的小写字母“i”,上面还有一个点。
在 Apple 的 SF Pro Rounded 字体中,这种情况不会发生。此外,一种字体可以生成 emdash,而另一种则不能。
在下面找到 MWE:
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{SF Pro Display}
\begin{document}
{\small\textsc{\MakeLowercase{20:27 --- Ingo:}}} \\
{\small\textsc{\MakeLowercase{\fontspec{SF Pro Rounded}20:27 --- Ingo }}}
\end{document}
结果:
我可以做些什么来协调这一点,例如删除 i 上方的点,并始终使用破折号?
以下是该问题的更多变体:
{\small\textsc{\MakeLowercase{20:27 --- Ingo }}}
{\small\textsc{\MakeLowercase{20:27 --- ingo }}}
{\small\textsc{\MakeLowercase{20:27 --- \i ngo }}}
{\small\textsc{\MakeLowercase{20:27 --- ı ngo }}}
答案1
下载并安装 SF Pro 后,无法重现“点 I”问题。
使用 Display 和 Rounded 字体通常可以生成长破折号;不过,后一种字体的字形更宽。
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{SF Pro Display}
\newfontfamily{\sfprorounded}{SF Pro Rounded}[Ligatures=TeX]
\begin{document}
^^^^2014 (Display)
{\sfprorounded ^^^^2014} (Rounded)
\textsc{\MakeLowercase{20:27 --- Ingo:}}
\textsc{\MakeLowercase{\sfprorounded 20:27 --- Ingo:}}
\textsc{\MakeLowercase{20:27 --- Ingo}}
\textsc{\MakeLowercase{20:27 --- ingo}}
\textsc{\MakeLowercase{20:27 --- \i ngo}}
\textsc{\MakeLowercase{20:27 --- ıngo}}
\end{document}
我对您的代码所做的唯一更改是:
我删除了
\fontspec
里面的声明\MakeLowercase
(这是错误的),用正确的命令集替换它,即定义一个字体系列;ı
我删除了上一个例子中的空格我删除了
\small
声明并且没有采取任何可能影响该问题的行为。
如您所见,将字符本身称为 U+2014 会在两种字体中产生不同的字形。但我找不到带点的 i。