ConTeXt 中斜体文本的直立括号

ConTeXt 中斜体文本的直立括号

有没有一种好方法可以在 ConTeXt 中自动将斜体文本中的所有括号直立起来?特别是我对一种可以与 EB Garamond 配合使用的解决方案感兴趣。我目前的解决方法是在我的 typescript 文件中定义一个 fallback,强制将直立的括号变为斜体,如下所示:

\definefontfeature
    [eb-garamond-test]
    [default]
    [itlc=yes]
    \definefontfallback [uprightparenteses] [name:EBGaramond-Regular] [0x00028:0x00029] [force=yes] 
    \starttypescript [serif] [ebgaramond-test]
        \setups[font:fallback:serif]
        \definefontsynonym [Serif] [name:EBGaramond-Regular] [features=eb-garamond-test]
        \definefontsynonym [SerifItalic] [name:EBGaramond-Italic] [features=eb-garamond-test,fallbacks=uprightparenteses]
    \stoptypescript
    \starttypescript [ebgaramond-test]
        \definetypeface[ebgaramond-test] [rm] [serif] [ebgaramond-test] [default]
    \stoptypescript

\setupbodyfont[ebgaramond-test]

\starttext
({\em if (if) if})
\stoptext

目前唯一的问题是斜体校正itlc=yes显然不会影响这些,而且看起来不太好(外面的是真正的罗马字体,具有有效的斜体校正,而里面的是假的,没有斜体校正):

直立括号

更新:

好的,一个可能的解决方案是按照我的做法(使用括号的字体后备)并按照@dg 下面的建议添加,\setupitaliccorrection[global,always]以使斜体校正起作用。

答案1

您可以将斜体校正设置为always

\setupitaliccorrection
  [global,always]

在此处输入图片描述

相关内容