我使用 ConTeXt 和一种名为“CMU Concrete”的字体。我想创建一种比提供的字体更好的粗体字体(它不够粗体)。我没有使用 FontForge 或假粗体,而是尝试通过创建命令\pmb
(Poor Man's Bold ;) )直接在 ConTeXt 中执行此操作:
\defineeffect[outline][alternative=outer, rulethickness=0.3pt]
\define[1]\pmb{\startoverlay{\black#1}{\starteffect[outline]{\black#1}\stopeffect}\stopoverlay}
它对于孤立的单词很有效,但对于句子则不然:
我该如何解决这个问题?提前致谢。
答案1
答案2
看起来覆盖层将其内容放在一个框中,然后以轻微的偏移多次打印该框。显然,您不能在那里换行。
我建议使用直接 pdf 方法并在那里加粗字体。我为您准备了一个宏\pmb
,其行为与通常的 类似\bf
,但字体加粗程度更高。您可以使用 来控制粗细\pmbweight
。
在内部,\pmb
我切换到普通粗体字体以利用调整后的字距来获得更粗的字形。
\definefontfamily[mainface][rm][CMU Concrete]
\setupbodyfont[mainface]
\def\pmbweight{0.05}
\def\pmbon{\pdfliteral direct{2 Tr \pmbweight\space w}}
\def\pmboff{\pdfliteral direct{0 Tr}}
\def\pmb{\aftergroup\pmboff\pmbon\bf}
\starttext
Platon, dans le {\it Phèdre}, parle d'un «privilège de la beauté» par
rapport aux autres essences.
{\bf
Platon, dans le {\it Phèdre}, parle d'un «privilège de la beauté»
par rapport aux autres essences.
}
{\pmb
Platon, dans le {\it Phèdre}, parle d'un «privilège de la beauté»
par rapport aux autres essences.
}
\stoptext