ConTeXt:如何将小型大写字母加粗?

ConTeXt:如何将小型大写字母加粗?

标题基本说明了一切:如何在 conTeXt 中使用粗体小型大写字母?

根据维基百科这应该有效:

\starttext
\setff{smallcaps} Normal and \bf bold Small Caps.
\stoptext

但对我来说却不然,\setff似乎没有效果。

我在参考手册在第127页:

目前,小型大写字母和旧式字体仅适用于 XƎTEX(在 MkIV 中,它需要额外的模式=节点对)。

但是,重新定义小型大写字母功能

\definefontfeature
   [smallcaps]
   [script=latn,language=dflt,liga=yes,kern=yes,tlig=yes,trep=yes,mode=node]

也不起作用。

答案1

您可以在字符顶部打印轮廓以模拟粗体。稍微拉伸一下看起来会好一些,尽管这两种情况下的最终结果都不太令人满意。拉伸后您必须手动调整间距。请参阅http://www.pragma-ade.nl/general/magazines/mag-0006-mkiv.pdf(字体效果部分)获取更多选项和示例。

梅威瑟:

\starttext
\sc Normal and \starteffect[both]bold Small Caps\stopeffect.

\setupeffect[both][stretch=1]
\setupalign[right]
\definehspace[large][1.3 em]
\sc Normal and \starteffect[both]bold Small Caps\stopeffect \hspace[large] and other text.
\stoptext

结果:

在此处输入图片描述

答案2

使用测量字体,这是一种可能的方法:

\starttypescript [serif] [body]
  \definefontsynonym [Serif]       [name:times] [features=default]
\stoptypescript

\starttypescript [sans] [header]
  \definefontsynonym [SansCaps]      [name:gaugenormal] [features=default]
  \definefontsynonym [SansCapsBold]  [name:gaugebold]   [features=default]
\stoptypescript

\definetypeface[impact] [rm] [serif] [body]   [default]
\definetypeface[impact] [ss] [sans]  [header] [default]

%\usetypescript[impact]
\setupbodyfont[impact]

\definefont[FontChapter][SansCapsBold sa \FontSizeChapter]
\definefont[FontSection][SansCaps sa \FontSizeSection]

\def\FontSizeChapter{4.75}
\def\FontSizeSection{1.25}

\def\BookChapterTitle#1{\FontChapter{#1}}

\setuphead[chapter][
  deeptextcommand=\BookChapterTitle,
  number=no,
]

\setuphead[section][
  style=\FontSection,
  number=no,
]

\starttext
  \startchapter[title=Chapter Title]
    \input ward
  \stopchapter

  \startsection[title=Section Title]
    \input knuth
  \stopsection
\stoptext

生成:

小型大写字母输出

请注意 已setff弃用。另请参阅:

相关内容