从 ConTeXt 访问字体装饰

从 ConTeXt 访问字体装饰

我无法从 ConTeXt 访问字体装饰。我使用的是 mkiv。我有一个字体,我知道它里面有精美的装饰,因为我在规格表中看到了它们。我不明白接下来该怎么做才能在字体中找到它们或将它们放入文档中,我想知道该怎么做才能发现字体中有什么装饰。

例如,我知道 Arno 有几个用于装饰的叶子样式的字形。Minion 有几个心形的子弹。仅了解这些事实,我不知道该怎么做才能将字形放到页面上。

答案1

您可以使用以下模块访问字体中包含的字形fnt-10

\usemodule [fnt-10]
\starttext
  \ShowCompleteFont{name:minionproregular}{10pt}{1}
\stoptext

这将输出字形、Unicode 值和字形名称的列表。您可以使用以下命令在控制台上获取字体名称

mtxrun -script fonts -list -all

当你有字体和字形名称时,你可以使用

\getnamedglyphdirect{font}{glyph}, e.g.
\getnamedglyphdirect{name:minionproregular}{bullet.010}

获取不同字体的单个字形。如果文档已使用该字体,请使用

\fontchar{glyph}, e.g.
\fontchar{bullet.010}

获取符号。直接从字体访问字形是一种低级接口(请参阅ConTeXt 维基百科 - fontchar)。为了使其更加实用,您可以定义一个象征(看ConTeXt 维基百科——definesymbol)这里有一个完整的例子来说明这一点。

\definefontsynonym
  [minion]
  [name:minionproregular]

\definesymbol
  [leaf]
  [\getnamedglyphdirect
    {minion}
    {bullet.010}]

\starttext

Foo \symbol[leaf] Bar

\stoptext

结果

相关内容