我想定义一个在不同的字体系列中表现不同的宏。如何确定 ConTeXt 中使用的当前字体系列?有类似\f@family
变量的东西吗?
答案1
ConTeXt 有两个轴字体定义:字体样式(衬线、无衬线和电传打字机)和替代字体(普通、粗体、斜体、粗体斜体、倾斜、粗体倾斜和小写)。请参阅维基百科了解详情。
预定义字体样式和替代项是font-pre.mkiv
使用宏\definefontstyle
和定义的\definefontalternative
。宏\fontstyle
和\fontalternative
提供当前字体样式和替代项。因此,您可以在测试中使用这些的组合。例如:
\define[1]\Test
{\NC #1 Sample \NC #1 \fontalternative \NC #1 \fontstyle \NC \NR}
\starttext
\startTABLE[frame=off,offset=0.5em, align=middle]
\NC \NC Alternative \NC Style \NC \NR
\Test{\rm}
\Test{\it}
\Test{\sl}
\Test{\it}
\Test{\bf}
\Test{\bi}
\Test{\ss}
\Test{\ssit}
\Test{\sssl}
\Test{\ssbf}
\Test{\ssbi}
\Test{\normal}
\Test{\italic}
\Test{\slanted}
\Test{\bold}
\Test{\bolditalic}
\Test{\sans}
\Test{\sansbold}
\stopTABLE
\stoptext
这使