为 Charis SIL 的微型字体设置 SMALL CAPS 字体凸起?

为 Charis SIL 的微型字体设置 SMALL CAPS 字体凸起?

在使用 XeTeX 引擎排版时,我尝试在 microtype 中启用 Charis SIL 的字体突出功能。mycrotype 手册指出,它具有 Charis SIL 的突出设置,但仅限于 EU1 和 EU2 编码。根据 Alan Munn 的回答,fontenc 会自动使用 EU1 编码,因此我不需要做任何特殊的事情来让 Charis SIL 中的字符突出。

microtype 是否也具有 Charis SIL 小型大写字母的凸出设置?当我排版为“凸出列表 Charis-sc 中字体编码 EU1 中的字符 ____ 的未知插槽号”时,我收到一串警告。只有当我的源包含小型大写字母时才会显示此错误。以下是产生错误的最小示例:

\documentclass[12pt,draft]{memoir}
\usepackage{fontspec}
\setmainfont{Charis SIL}[StylisticSet=1]
\usepackage[final, expansion = false]{microtype}
\begin{document}
\section{Introduction}

Now a sentence, with, many; types --- of punctuation!  Can, you believe it?  I am making: words.  And more... And more.

But if I decide to \textsc{nasa} me around, I disagree.

\end{document}

答案1

Charis SIL 的小型大写字母凸起设置是通过引用字形名称来指定的,这通常是最稳定的方式。然而,在某个时候,Charis SIL 的开发人员将所有小型大写字母的字形从 重命名a.SCa.sc

查里斯·西尔

(左:4.106版本,右:5.000版本)

编辑:从 2.7 版开始,将自动使用和microtype选择正确的名称,因此不再需要手动修复设置(在 中)。luatexxetexmt-CharisSIL.cfg

答案2

EU1 编码XeTeX使用的标准编码fontspec。截至 2016 年,将使用一种实验性的 TU 编码,但在撰写本文时,此编码仅通过包选项启用[tuenc],尽管应该成为默认编码。该microtype包也已经支持此编码。因此,您不需要做任何特殊的事情:

\documentclass{article}
\usepackage{fontspec}
\usepackage[protrusion=true]{microtype}
\setmainfont{Charis SIL}
\makeatletter
\newcommand*{\showenc}{The encoding is \f@encoding.\par}
\makeatother
\begin{document}
\showenc
\end{document}

代码输出

文件中有一些mt-CharisSIL.cfg针对小型大写字母的突起设置,并且使用时您的文档不会产生任何警告或错误microtype 2016/05/14 v2.6a(当我[StylisticSet=1]\setmainfont命令中删除时)。

相关内容