我正在使用一种字体,它提供小写字母作为附加字体文件。这些字体可用于 ConTeXt,我已使用
$ mtxrun --script fonts --list --all | grep Concourse
concoursec3 concoursec3 /Users/flyx/Library/Fonts/Concourse C3 Regular.ttf
[...]
concourset3 concourset3 /Users/flyx/Library/Fonts/Concourse T3 Regular.ttf
[...]
c3 字体是小写字体,而 t3 字体是常规字体。我是这样加载字体的:
\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3]
\setupbodyfont[mainface]
现在我尝试在文本中使用小型大写字母:
\starttext
\ss This should be sans serif.
\setff{smallcaps} This should use small caps.
\stoptext
虽然两行都是无衬线字体,但第二行不是小写字母。我做错了什么?
答案1
当您通过文件名设置不同的字体时,您必须使用完整的名称。
\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3regular]
小型大写字母通常通过\sc
字体开关启用,\setff
仅当小型大写字母是字体功能时才可使用该命令,您可以为当前字体启用它们。
\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3regular]
\setupbodyfont[mainface]
\starttext
This should be sans serif.
{\sc This should use small caps.}
\stoptext