mathdesign 无衬线字体和等宽字体是否“伪造”了小型大写字母?

mathdesign 无衬线字体和等宽字体是否“伪造”了小型大写字母?

mathdesign 手册解释了如何确保在所选的主字体系列中使用“真正的”小型大写字母,但它没有说明其他字体中使用的小型大写字母是否是“伪造的”。

例如

\usepackage[bitstream-charter,expert]{mathdesign}
\renewcommand{\sfdefault}{phv}

仅当购买并安装了附加字体时,Charter 才会使用真正的小型大写字母,但不清楚第二行(Adobe Helvetica)指定的无衬线字体是否会使用真正的小型大写字母。

mathdesign 中可用的无衬线1和等宽2类型的字体是否支持真正的小型大写字母?


1计算机现代无衬线字体、Bera sans、Adobe Helvetica
2 Bera mono、计算机现代打字机、Adobe Courier

答案1

文件中的相关条目t1phv.fd显示

\DeclareFontShape{T1}{phv}{m}{sc}{
   <-> \Hv@@scale phvrc8t
}{}

意思是phvrc8t.tfm,如果存在,phvrc8t.vf将用于无衬线小写字母。文件phvrc8t.vf存在,并将其翻译成人类可读的形式,并vftovp

(VTITLE )
(FAMILY UNSPECIFIED)
(FACE F MRR)
(CODINGSCHEME EXTENDED TEX FONT ENCODING - LATIN)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM O 4303237440)
(FONTDIMEN
   (SLANT R 0.0)
   (SPACE R 0.27799)
   (STRETCH R 0.165991)
   (SHRINK R 0.065991)
   (XHEIGHT R 0.522998)
   (QUAD R 1.0)
   (EXTRASPACE R 0.065991)
   (PARAMETER D 8 R 0.717993)
   (PARAMETER D 9 R 0.717993)
   (PARAMETER D 10 R 0.930994)
   (PARAMETER D 11 R 0.2199955)
   (PARAMETER D 12 R 0.930994)
   (PARAMETER D 13 R 0.225)
   (PARAMETER D 14 R 0.555994)
   (PARAMETER D 15 R 0.0)
   (PARAMETER D 16 R 1.2)
   )
(MAPFONT D 0
   (FONTNAME phvr8r)
   (FONTCHECKSUM O 13550061316)
   (FONTAT R 0.8)
   (FONTDSIZE R 10.0)
   )
(MAPFONT D 1
   (FONTNAME phvr8r)
   (FONTCHECKSUM O 13550061316)
   (FONTAT R 1.0)
   (FONTDSIZE R 10.0)
   )

<...lines omitted...>

(CHARACTER C A
   (CHARWD R 0.716992)
   (CHARHT R 0.720496)
   (MAP
      (MOVERIGHT R 0.025)
      (SELECTFONT D 1)
      (SETCHAR C A)
      (MOVERIGHT R 0.025)
      )
   )

<...lines omitted...>

(CHARACTER C a
   (CHARWD R 0.582996)
   (CHARHT R 0.581494)
   (MAP
      (MOVERIGHT R 0.025)
      (SETCHAR C A)
      (MOVERIGHT R 0.025)
      )
   )

<...lines omitted...>

意思是字符“a”是大写字母“A”的缩放版本。注意区别:对于“A”,所选字体为数字 1,即phvr8r设计尺寸;对于“a”,所选字体为数字 0(默认),即phvr8r设计尺寸的 0.8。

所以答案是:Helvetica 使用了伪小型大写字母。

我根本就没考虑过打字机类型的小写字母。

相关内容