如何使标题使用内衬数字但不改变正文?

如何使标题使用内衬数字但不改变正文?

我遇到了这个问题,我知道如何指定字体功能。但我不知道如何将其限制为仅文档的标题部分。以下是代码:

\definefontfamily [brill] [rm] [Brill]

\definefontfeature[default][default][lnum=yes]

\setupbodyfont[brill]

\setuphead  [title]
            [indentnext=yes,
             style=\tfc\sc,
             page=no]

\starttext

\head{example}

\stoptext

答案1

我不明白您是想将其放在页面标题中,还是想将其放在您定义的标题中。此外,\head这不是有效的宏。您可以尝试下面的方法。

\definefontfamily [brill] [rm] [Brill]

\definefontfeature
  [myfeature]
  [default]
  [lnum=yes,
   smcp=yes]

\setupbodyfont[brill]

\setuphead
  [title]
  [indentnext=yes,
   style={\feature[+][myfeature]\tfc},
   page=no]

\setupheader
  [style={\feature[+][myfeature]}]

\setupheadertexts
  [title]

\starttext

\starttitle
  [title=Example 0123]

0123

\stoptitle
\stoptext

这导致

标题和页眉采用小写字母

答案2

更一般地,您可以设置它,以便小写字母始终使用内衬数字,方法是\adaptfontfeature

\definefontfamily [brill] [rm] [Brill]

\adaptfontfeature[f:smallcaps][lnum=yes]

\setupbodyfont[brill]

\setuphead[title][style=\tfc\sc]

\startTEXpage[width=3in, offset=1em]
    \title{Test 1234567890 aAaA}

    Test 1234567890 aAaA

    \smallcaps{Test 1234567890 aAaA}
\stopTEXpage

输出

相关内容