我正在尝试使用 ConTeXt 中的 Simplefonts 功能,但无法使其与 Latin Roman 配合使用。以下内容适用于 TexGyre 字体,但使用 Latin Modern 时我无法获得小型大写字母:
\definefontfeature[default][default][onum=yes]
\definefontfamily [mainface] [rm] [Latin Modern Roman]
\definefontfamily [mainface] [ss] [Latin Modern Sans]
\definefontfamily [mainface] [tt] [Latin Modern Mono]
\setupbodyfont[mainface]
\starttext
\rm\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\ss\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\tt\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\stoptext
答案1
最简单的解决方案是直接使用modern
typescript。这会将所有字体设置为 Latin Modern。
\setupbodyfont[modern]
\starttext
\rm\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\ss\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\tt\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\stoptext
或者,您可以使用\definefontfamily
(MKIV 中的 的后继者simplefonts
)。但是,这并不好玩,因为您必须自己指定各种内容,例如 Latin Modern Mono 的粗体和粗斜体。
\definefontfamily [mainface] [rm] [Latin Modern Roman]
[sc=file:lmromancaps10regular]
\definefontfamily [mainface] [ss] [Latin Modern Sans]
\definefontfamily [mainface] [tt] [Latin Modern Mono]
[bf=file:lmmonolt10bold,
bi=file:lmmonolt10boldoblique,
sc=file:lmmonocaps10regular]
\setupbodyfont[mainface]
\starttext
\rm\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\ss\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\tt\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\stoptext
如果您想混合用作打字稿的不同字体,您可以简单地定义自己的打字稿(在这种情况下这是推荐的方法)。
\starttypescript [mainface]
\definetypeface [\typescriptone] [rm] [serif] [modern] [default]
\definetypeface [\typescriptone] [ss] [sans] [modern] [default]
\definetypeface [\typescriptone] [tt] [mono] [modern] [default] [features=none]
\definetypeface [\typescriptone] [mm] [math] [modern] [default]
\stoptypescript
\setupbodyfont[mainface]
\starttext
\rm\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\ss\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\tt\tf Roman \it Italic \bf Bold \bi BoldItalic \sc SmallCaps
\stoptext