小型大写字母和 nocommon 连字符的 fontspec(实际上,rawfeatures 可用,但 ligatures=NoCommon 不可用)

小型大写字母和 nocommon 连字符的 fontspec(实际上,rawfeatures 可用,但 ligatures=NoCommon 不可用)

(这有点混乱,所以很抱歉。最终的解决方案与我最初预期的不同。最终,发生的事情是 Linux Libertine O 中的一个错误,在我看来,使用 TTF 字体的 fontspec 不会尊重 Ligatures=Rare 等,但会尊重 RawFeature=+hlig 和其他等效项。请参阅下文以获得更完整的解释和最终的工作解决方案,但没有解释它为何有效。)

[原帖] 我正在尝试为想要使用手写字体的人排版一份文档。但是该字体没有粗体、斜体或粗斜体,因此我找到了其他 3 种合适的字体,并使用 fontspec 在这些字体之间切换。但是,对于小写字母,他想使用 linux libertine O,但颜色要有所不同。最后,也是最重要的一点,似乎 LLO 正在使用连字符来表示 Th,而我想使用非连字符版本。

我可以使用各种颜色,但似乎无法将 ligatures=NoCommon 应用于 smallcaps 字体。

以下代码来自 lyx。“ThStrictWurtziteFirefly”在那里,所以我可以看到连字符。

好的,这是我的最大努力:

\fontspec{Linux Libertine O}

ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{Ligatures=Historic}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{Ligatures={Rare}}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{Ligatures={NoCommon}}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

----

\fontspec{Linux Libertine O}0 ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{UprightFont={SNsanafonmaruP},UprightFeatures={SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon},Color=1470CF}}}1
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{BoldFont={SNsanafonkakuP}, BoldFeatures={Color = 470CF1,SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon}, Color=70CF14} }}2
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{ItalicFont={SNsanafonP}, ItalicFeatures={Color = 0CF147, SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon},Color=CF1470}}}3
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

\addfontfeature{BoldItalicFont={nagurigaki}, BoldItalicFeatures={ Color = 888844, SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon}, Color=444422}}}4
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}

Th Upright {\scshape Th  Small Caps}\\ 
\itshape Th Italic {\scshape Th Italic Small Caps}\\ 
\upshape\bfseries Th Bold {\scshape Th Bold Small Caps}\\ 
\itshape Th Bold Italic {\scshape Th Bold Italic Small Caps}

提前感谢任何帮助...

[更新] 我刚刚 [发现][1] 这实际上是 linux libertine o 中的一个错误,原因是“自动生成的字体子样式”他们不会修复它并建议使用“Open Type 功能”。我不确定这是什么意思,但我会努力学习并弄清楚。节目要去看了……

请参阅下文我的最终答案。

答案1

我能够使用 RawFeature=+smcp 使其工作,尽管 Ligatures=NoCommon、Rare 等不起作用。只有使用原始特征才有效。想想看。我认为 -liga 也可以工作。我想知道为什么会发生这种情况。也许这是另一个问题。

最终解决方案:

\setmainfont[Mapping= tex-text,  %
    SmallCapsFont={Linux Libertine O},   %
    SmallCapsFeatures= {Color=111111, RawFeature={+smcp,+hlig,+dlig}},   %
    BoldFont={SNsanafonmaruP},   %
    BoldFeatures={Color = 470CF1,AutoFakeBold=4,FakeBold=4,SmallCapsFont={Linux Libertine Capitals O Bold},%
    SmallCapsFeatures = { Color=70CF14,   RawFeature={+smcp,+hlig,+dlig}} },  %
    ItalicFont={SNsanafonkakuP},   %
    ItalicFeatures={Color = 0CF147,AutoFakeBold=2,FakeBold=1,SmallCapsFont={Linux Libertine Capitals O Italic}, %
    SmallCapsFeatures = {Color=CF1470,RawFeature={+smcp,+hlig,+dlig}}},   BoldItalicFont={nagurigaki},   %
    BoldItalicFeatures={ Color = F1470C,SmallCapsFont={Linux Libertine Capitals O Bold Italic},  %
    SmallCapsFeatures = { Color=24680B,RawFeature={+smcp,+hlig,+dlig}}} ]{SNsanafonmaruP} 

相关内容