将 `kerncharacters` 传递给 `defineframedtext`

将 `kerncharacters` 传递给 `defineframedtext`

我正在使用 ConTeXt 设计 Word 搜索网格。我使用等宽字体,但附加字距有助于阅读网格。我想知道如何定义一些带有每个字母之间附加字距的框架文本。

编辑:我在第一个 MWE 中发现了一个错误,这让我kerncharacters在 wiki 上发现了该命令。我该如何传递\kerncharactersdefineframedtext

\defineframedtext [Grille]
   [style={\ttb},
    bodyfont=14pt,
    width=fit,
    location=left]
\starttext

ABCD
\startGrille
\kerncharacter[0.25]
ABCD\par
EFGH
\stopGrille

\stoptext

答案1

要将\kerncharacters命令应用于整个环境上下文,framedtext您可以将其作为参数传递给style键。

\defineframedtext
  [Grille]
  [style={\tt\kerncharacters[1]},
   bodyfont=20pt,
   width=fit,
   location=left]

\starttext

\startGrille
ABCD\\
EFGH\\
\stopGrille

\stoptext

增加字母之间距离的另一种方法是改变字符本身的宽度,这可以通过dimension字体功能实现。

\definefontfeature [equalwidth] [dimensions={1.5,*,*}]

\definefont [EqualWidth] [MonoBold*default,equalwidth]

\defineframedtext
  [Grille]
  [style=EqualWidth,
   bodyfont=20pt,
   width=fit,
   location=left]

\starttext

\startGrille
ABCD\\
EFGH\\
\stopGrille

\stoptext

相关内容