如何使这个打字稿在 ConTeXt 中工作?

如何使这个打字稿在 ConTeXt 中工作?

我正在尝试掌握 ConTeXt 中的打字脚本。在所有示例和所有文档中,我就是不清楚发生了什么。

我下载了一种新字体用于此示例这里.它被称为克莱米斯基输出mtxrun --script fonts --info这里

我的测试文件如下:

\starttypescript[serif][kleymissky]
    \setups[font:fallback:serif]
    \definefontsynonym[Serif][name:kleymissky][features=default]
\stoptypescript

\starttypescript [myfont]
    \definetypeface[myfont][rm][serif][kleymissky][default]
    \definetypeface[myfont][ss][sans][modern][default]
    \definetypeface[myfont][tt][mono][modern][default]
\stoptypescript

\usebodyfont[myfont]

\starttext
{\tf This is tf.} 
{\ss This is ss.} 
{\tt This is tt.} 
{\definedfont[name:kleymissky] This is kleymissky.}
{\definedfont[name:modern] This is latin-modern.}
\stoptext

目的是使用 kleymissky 作为主衬线字体,但将 ss 和 tt 恢复为 Latin Modern 字体。但这不是行为:

输出2

为了进行比较,我尝试了该simplefonts模块,它最终实现了我想要的效果:

\usemodule   [simplefonts]
\setmainfont [kleymissky]

\starttext
{\tf This is tf.}
{\ss This is ss.}
{\tt This is tt.}
{\definedfont[name:kleymissky] This is kleymissky.}
{\definedfont[name:modern] This is latin-modern.}
\stoptext

我得到:

输出3

显然我做错了什么,但我不明白是什么。有人能帮我修复这个打字稿和/或帮助我了解发生了什么吗?

答案1

用以替换\usebodyfont[myfont]示例中的行以\setupbodyfont[myfont]启用您的字体。

该模块的替代方案simplefonts\definefontfamily来自核心的命令,它允许您使用字体而无需编写打字稿。

\definefontfamily [kleymissky] [rm] [Kleymissky]
\definefontfamily [kleymissky] [ss] [Latin Modern Sans]
\definefontfamily [kleymissky] [tt] [Latin Modern Mono] [features=none]
\definefontfamily [kleymissky] [mm] [Latin Modern Math]

\setupbodyfont[kleymissky]

\starttext

This is rm.

{\ss This is ss.}

{\tt This is tt.}

\stoptext

相关内容