删除小型大写字体中“i”上方的小点

删除小型大写字体中“i”上方的小点

我想在我的某个文档中使用 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

我可以做些什么来协调这一点,例如删除 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}

我对您的代码所做的唯一更改是:

  1. 我删除了\fontspec里面的声明\MakeLowercase(这是错误的),用正确的命令集替换它,即定义一个字体系列;

  2. ı我删除了上一个例子中的空格

  3. 我删除了\small声明并且没有采取任何可能影响该问题的行为。

在此处输入图片描述

如您所见,将字符本身称为 U+2014 会在两种字体中产生不同的字形。但我找不到带点的 i。

相关内容