如何纠正 ConTeXt 中的“bodyfont '15pt' 已定义(最好全局定义)”错误?

如何纠正 ConTeXt 中的“bodyfont '15pt' 已定义(最好全局定义)”错误?

我有一个文档,我想对其进行优化以便在 eink 阅读器上查看。因此,我需要将字体设置得更大,将默认大小设置为 15 pt。页面上的其他项目(例如下标文本)会根据此大小进行缩放。我使用了以下代码:

\definefontfamily [sourcehansans] [sans] [sourcehansanssclight][features=chinese]
\definefontfamily [sourcehansans] [math] [modern]
\setupbodyfont [sourcehansans,ss,15pt]
\starttext
    This is a test.
\stoptext

这会生成具有所需外观的 PDF,但是当我编译此代码时,却收到以下警告:

bodyfont '15pt' is defined (can better be done global)

对于长文档,此错误将会打印数千次。

我怎样才能修正我的代码,使默认字体大小为 15 点,但不会出现此错误?

答案1

要消除尺寸警告,请使用

\definebodyfontenvironment[15pt]

但你的字体定义仍然是错误的。要使用同义词,modern你必须使用\definetypeface。那么最好将其全部打包在专用的打字稿中。

\starttypescript[sourcehansans]
  \definetypeface [\typescriptone] [rm] [serif] [modern]               [default] [features=default]
  \definetypeface [\typescriptone] [ss] [sans]  [sourcehansanssclight] [default] [features=chinese]
  \definetypeface [\typescriptone] [tt] [mono]  [modern]               [default] [features=none]
  \definetypeface [\typescriptone] [mm] [math]  [modern]               [default]
\stoptypescript

\definebodyfontenvironment[15pt]

\setupbodyfont [sourcehansans,ss,15pt]

\starttext
    This is a test.
\stoptext

这仍然会发出警告

fonts           > typescripts > unknown library 'sourcehansanssclight'

你必须定义一个sourcehansanssclight类似的打字稿

\starttypescript [sans] [sourcehansanssclight]
  \definefontsynonym [Sans]            [file:...]
  \definefontsynonym [SansBold]        [file:...]
  \definefontsynonym [SansItalic]      [file:...]
  \definefontsynonym [SansBoldItalic]  [file:...]
  \definefontsynonym [SansSlanted]     [file:...]
  \definefontsynonym [SansBoldSlanted] [file:...]
\stoptypescript

在其中填写点的正确文件名。

相关内容