如何解读字体形状警告?

如何解读字体形状警告?

人们经常会收到以下形式的警告(示例)

LaTeX Font Warning: Font shape `T1/qcs/m/sl' in size <10.95> not available
(Font)              Font shape `T1/qcs/m/it' tried instead on input line 7.

当某些字体/大小组合不可用时。但是,

T1/qcs/m/sl

意思是?

四个用 a 隔开的“字母组合”代表什么/意思?

(给出的警告和形状组合仅仅是一个可供参考的例子,问题的含义是最普遍的。)

答案1

LaTeX 中的字体具有四个独立的属性:

  1. 编码
  2. 家庭
  3. 系列
  4. 形状

编码指“输出编码”;例如 OT1(经典 TeX 字体)和 T1(欧洲语言的 Cork 编码),但也发现 TS1(文本符号);其他编码有 T2A T2B T2C(西里尔文)、T3(IPA 字形)、T4(非洲语言)和 T5(越南语)。最后,TU 代表 Unicode。

家庭属性标识字体系列:cmr是默认的 Computer Modern,ptm是“Adobe Times New Roman”,qcs是“TeX Gyre Schola”(cs是指 New Century Schoolbook 或其克隆的两个字母组合)。

系列是字体的“粗细”;它既指笔画的粗细,又指笔画的宽度,因此字母可以是m(表示中等)、bx(表示加粗)、b(表示粗体),但也可以找到其他系列。Postscript 世界中的典型可缩放字体具有mb粗细(并bx重新映射到b)。

形状直立n),斜体it),倾斜的sl) 或者小写字母sc)。一些字体系列还有“不倾斜的斜体”变体(ui)。

当 LaTeX 发现新的编码+系列组合时,它会尝试读取字体描述文件(例如t1ptm.fdt1qcs.fd)以方便的格式包含将“真实字体”与属性组合关联的说明。如果字体描述文件不存在,也可以在 LaTeX 文档中明确给出这些关联。

在某些情况下,属性组合并不指向现有字体。例如,"T1/cmtt/bx/n"(T1 编码中的 Computer Modern Typewriter 粗体直立扩展)就是这种情况。在以下情况下,LaTeX 可以采取不同的行动:

  • 如果.fd文件定义了替换规则,则 LaTeX 遵循规则
  • 如果.fd文件没有提供任何有用的信息,LaTeX 将使用一些内置规则

描述内置规则(位于source2e.pdf)会很长。让我们研究两种情况。

t1cmtt.fd文件中我们找到以下行

\DeclareFontShape{T1}{cmtt}{bx}{n}{<->ssub*cmtt/m/n}{}

意思是

如果T1/cmtt/bx/n需要组合,则默默地将其更改为T1/cmtt/m/n

t1qcs.fd文件中

\DeclareFontShape{T1}{qcs}{m}{sl}{<->sub * qcs/m/it}{}

意思是

如果T1/qcs/m/sl请求组合,则将其更改为T1/qcs/m/it并警告用户(一次)。

请注意编码是绝不改变,因为这可能会导致打印意外的字符。

两种情况的区别仅在于一个“s”:ssub表示“默默替代”,而sub表示“替代并警告”(关于这种特定替代的警告仅发出一次)。

这是开发者的选择:TeX Gyre 的人认为最好向用户警告这种替换;TeX Gyre Schola 倾斜字体,因此必须选择另一种。

对于最常见的属性,LaTeX 有设置它们的命令:\bfseries选择bx系列属性(实际上它使用宏\bfdefault);同样\itshape选择形状属性it(同样,实际\itdefault使用的是)等等。字体开发人员可以任意使用多个系列和形状属性。有些字体有数十种可能的选择。

答案2

T1/qcs/m/sl:

T1 --- \fontencoding T1 (european, ``Cork''),
qcs --- \fontfamily: TeX Gyre Schola,
m --- \fontseries: medium,
sl --- \fontshape: slanted.

编辑:\TeXGyre 的家庭和套餐

\TeX Gyre Termes qtm tgtermes
\TeX Gyre Pagella qpl tgpagella
\TeX Gyre Bonum qbk tgbonum
\TeX Gyre Schola qcs tgschola
\TeX Gyre Chorus qzc tgchorus
\TeX Gyre Adventor qag tgadventor
\TeX Gyre Heros qhv tgheros
\TeX Gyre Cursor qcr tgcursor

相关内容