如何确定 ConTeXt 中的当前字体样式?

如何确定 ConTeXt 中的当前字体样式?

我想定义一个在不同的字体系列中表现不同的宏。如何确定 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

这使

在此处输入图片描述

相关内容