使用 \setupalign[hanging] 来精确控制 ConTeXt 中的光学边距?

使用 \setupalign[hanging] 来精确控制 ConTeXt 中的光学边距?

我如何才能更好地控制 \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 的边距调整太小了……

在此处输入图片描述

相关内容