ConTeXt 字体同义词中的多个后备选项

ConTeXt 字体同义词中的多个后备选项

我正在尝试编写 ConTeXt 文档,需要用其他字体替换多个缺失字体块。我使用 键fallbacks\definefontsynonym执行此操作。但是,所有缺失字体均未得到替换。如何在 ConTeXt 中指定多个后备字体?

以下是一个说明该问题的文件:

\usetypescript
  [pagella]

%% Unicode block `Miscellaneous Technical', range 2300--23FF,
%% http://www.unicode.org/charts/PDF/U2300.pdf

\definefontfallback
  [BracketPieces]
  [XITSMath]
  [023B0,
   023B1]

%% Unicode block `Supplemental Mathematical Operators', range
%% 2A00--2AFF, http://www.unicode.org/charts/PDF/U2A00.pdf

\definefontfallback
  [SupplementalMathematicalOperators]
  [STIXGeneralRegular]
  [supplementalmathematicaloperators]

\definefontsynonym
  [Mono]
  [pagella]
  [fallbacks={BracketPieces,SupplementalMathematicalOperators}]

\enabletrackers
  [fonts.missing]

\setupbodyfont
  [pagella]

\starttext

\starttyping
Definition RightDistributivityTo (X Y Z : UU) :
  X × ⎰Y ⨿ Z⎱ → ⎰X × Y⎱ ⨿ ⎰X × Z⎱.
\stoptyping

\stoptext

以下是该命令输出的相关部分context file.tex

PDF 无括号和余积

输出中缺少所有字符 ⎰ ⨿ ⎱。日志文件确实不是提到正在加载 XITS 和 STIX 字体。

但是,如果我只使用其中一个后备,则该后备将按预期使用。例如,如果我替换

[fallbacks={BracketPieces,SupplementalMathematicalOperators}]

[fallbacks=BracketPieces]

然后我得到以下 PDF 输出,其中显示字符 ⎰ 和 ⎱,并且日志文件提到正在加载 XITS 字体。

在此处输入图片描述

当我仅加载其他后备字体时,也会发生类似的事情。如果您能提供关于如何在此情况下使用多个字体后备字体的建议,我将不胜感激。

答案1

(我不太了解字体回退的内部原理。我的答案是基于type-imp-euler.mkiv打字稿的)。

一种选择是使用单一的 fallback 名称。例如:

\definefontfallback[myfallbacks][XITSMath] [023B0, 023B1] 
\definefontfallback[myfallbacks][STIXGeneralRegular][supplementalmathematicaloperators]
\definefontsynonym [Mono] [pagella] [fallbacks=myfallbacks]
\setupbodyfont [pagella]

\enabletrackers [fonts.missing]

\starttext
\starttyping
Definition RightDistributivityTo (X Y Z : UU) :
  X × ⎰Y ⨿ Z⎱ → ⎰X × Y⎱ ⨿ ⎰X × Z⎱.
\stoptyping
\stoptext

这使

在此处输入图片描述

相关内容