![使用 \setupalign[hanging] 来精确控制 ConTeXt 中的光学边距?](https://linux22.com/image/379902/%E4%BD%BF%E7%94%A8%20%5Csetupalign%5Bhanging%5D%20%E6%9D%A5%E7%B2%BE%E7%A1%AE%E6%8E%A7%E5%88%B6%20ConTeXt%20%E4%B8%AD%E7%9A%84%E5%85%89%E5%AD%A6%E8%BE%B9%E8%B7%9D%EF%BC%9F.png)
我如何才能更好地控制 \setupalign[hanging] 提供的带视觉边距的连字符的“悬挂”选项?也就是说,我并不担心突出。ConTeXt 的默认“hz”选项对我来说已经足够了。我知道这无所谓个人喜好,但在我看来,“悬挂”对于某些字体的连字符来说在视觉上很好,而对于其他字体来说则不太好。
简单“悬挂”的默认内部设置可能对许多人来说很好,但并不符合我的审美偏好。
对我来说,这只是一个关于向边缘位移的品味问题,但仅限于连字符符号。我一直在谈论连字符,而不是保持突出。
在我看来,这向右边距的投影太多了。但无论如何,我坚持:我知道对不同的人来说,这是不同的。
除此之外,线条内的突出部分还符合我的口味。
答案1
详见“8.8 突出部分”ConTeXt 之外的字体您可以轻松构建自己的突起向量。在这里,我使用向量,quality
但更改了连字符的突起设置(punctuation
向量使用的向量的默认quality
值为{ 0, 0.70 }
)
\startluacode
fonts.protrusions.vectors.ebohoyod = table.merged(
fonts.protrusions.vectors.quality,
{
[0x002D] = { 0, 0.25 }, -- hyphen
}
)
\stopluacode
\setupfontprotrusion[ebohoyod][vector=ebohoyod]
\definefontfeature
[quality]
[default]
[protrusion=quality]
\definefontfeature
[ebohoyod]
[default]
[protrusion=ebohoyod]
\definefont[First][file:Sukhumala-Regular.otf*quality]
\definefont[Second][file:Sukhumala-Regular.otf*ebohoyod]
\setupalign[hanging]
\starttext
\startoverlay
{\ruledvbox{\color[gray]{\First\input knuth\par}}}
{\ruledvbox{\Second\input knuth\par}}
\stopoverlay
\stoptext
背景是原始的quality
突出设置(浅灰色)。也许 0.25 的边距调整太小了……