在哪里可以找到自定义字体的系列代码

在哪里可以找到自定义字体的系列代码

有没有 LaTeX 字体编码的参考列表?一个可以搜索特定字体并获取代表该字体的相关代码的地方。其中一些甚至不合逻辑,例如TeX Gyre 英雄我想象的代码是“ tgh”,但实际代码是“ qhv”:

{\usefont{T1}{qhv}{b}{n}\selectfont\huge}  %"qhv" - TeX Gyre Heros, "b" - bold
{\usefont{T2A}{qcr}{m}{n}qcr\selectfont}   % Another font

我正在寻找阿莱格雷亚阿莱格雷亚·桑斯但我找不到它。我想它一定存在,因为我的逻辑告诉我世界上的每种字体都有这样的代码?或者可能没有?在哪里可以搜索这样的代码?我也在字体查看器中打开了字体,但没有成功。

干杯!

答案1

.sty查找字体系列名称的更通用方法是使用字体定义文件的名称 ( ) ,这种方式不需要打开文件,也不依赖于文件是否存在.fd。这适用于任何设置为与 LaTeX 一起使用的字体,无论是否.sty提供文件。

假设您想使用 Zapf Chancery。它由软件包提供,并包含在标准 TeX 发行版中。检查(TeX Live)zapfchan的内容:texmf-dist/tex/latex/zapfchan/

8ruzc.fd   omluzc.fd  omsuzc.fd  ot1uzc.fd  t1uzc.fd   ts1uzc.fd

在这种情况下没有.sty文件。这使得找出字体系列名称变得更加重要,因为这是在 LaTeX 中使用字体的唯一方法。

此时了解一点字体编码会很有帮助。8r、、、和是TeX 使用的不同字体编码的小写版本oml: 8r、OML、OMS、OT1、T1 和 TS1。要弄清楚字体系列名称,这些是什么并不重要。重要的oms是您知道它们是编码。ot1t1ts1

  • 取任意文件的名称.fd。-> 例如t1uzc.fd
  • 删除.fd后缀。->例如t1uzc
  • 删除编码前缀。->例如uzc
  • 剩下的就是字体系列的名称。例如uzc

有些字体除了有不同的编码外,还可能有几种不同的字体系列。在这些情况下,您需要进一步调查以确定要使用哪个系列。然而,对于 Zapf Chancery,只有一个系列uzc,这就是您在 LaTeX 中选择字体时要使用的。

字体定义文件的名称告诉您另一个重要的事情:它们告诉您字体可用于哪些编码。在这种情况下,您有:

  • 8r:这是一种“原始”编码——除非您有兴趣自己创建字体包,否则您可以忘记它;
  • OML/OMS:支持数学的编码;
  • OT1:默认的 TeX 文本编码,也用于数学;
  • T1:一种增强的文本编码,对重音字符的支持比 OT1 更好;
  • TS1:一种补充文本编码,提供各种符号,如版权符号、旧式数字等。

你可能会困惑地发现

\fontencoding{T1}\fontfamily{uzc}\selectfont Is this Zapf Chancery?

仍然会生成 Computer Modern Roman 而不是 Zapf Chancery。LaTeX 会在控制台和日志中警告您它已替换了字体,并且(对于 pdfTeX)您的 PDF 查看器将显示仍在使用 CMR。为什么字体选择失败?

要弄清楚这一点,你必须看看里面字体定义文件。(我只是说你不必打开文件来弄清楚字体系列 - 我并没有说你可以使用它!)

阅读时t1uzc.fd,我们发现以下一行:

\DeclareFontShape{T1}{uzc}{mb}{it}{
   <-> uzcmi8t
}{}

这表明该系列包括一种字体mb(中等粗体)和一种形状it(斜体)。

接下来的两个形状声明:

\DeclareFontShape{T1}{uzc}{m}{it}{<->ssub * uzc/mb/it}{}
\DeclareFontShape{T1}{uzc}{mb}{sl}{<->ssub * uzc/mb/it}{}

告诉我们,uzc/mb/it如果请求中等粗细的斜体形状(系列)或中等粗体系列的m倾斜形状( ),则此单一字体()将被默默替换(即没有警告)。sl

最终的形状声明:

\DeclareFontShape{T1}{uzc}{m}{sl}{<->ssub * uzc/mb/sl}{}

告诉我们,uzc/mb/sl如果请求的是中等系列中的倾斜形状,则会默认替换为。由于斜体、中等粗体uzc/mb/sl无论如何都会被替换为,这实际上意味着,无论请求的是斜体和倾斜中的哪一个,也无论请求的是中等和中等粗体中的哪一个,我们都会始终获得斜体、中等粗体形状。

但是,标准直立形状没有定义。因此,要实际使用 Zapf Chancery,我们还需要更改为斜体或倾斜形状。为了安全起见,最好也指定粗细。这样,如果启用了粗体,我们就不会得到意想不到的结果(例如粗体的 CMR)。

\fontencoding{T1}\fontfamily{uzc}\fontshape{it}\fontseries{mb}\selectfont Is this Zapf Chancery?

请注意,无论字体名称是否遵循 Berry 方案,此查找系列名称的方法都有效。例如,

texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd

告诉我们 T1 编码中有一个可用的字体系列,如果合适EBGaramond-OsF,我们可以用类似的方法选择它。[尽管在这种情况下,使用包提供的文件\fontfamily{}通常更好。].sty

答案2

Alegreya(serif 和 Sans)字体不使用 Berry 方案,其中家族名称是三个(或四个)字母的缩写。

Alegreya.sty您可以在和中找到姓氏AlegreyaSans.sty

阿莱格雷亚

220 \else % type1
221 
222   \def\Alegreyafamily{Alegreya-\Alegreya@figurealign \Alegreya@figurestyle}
223   \def\Alegreya{\fontfamily{\Alegreyafamily}\selectfont}
224   \def\AlegreyaLF{\fontfamily{Alegreya-LF}\selectfont}
225   \def\AlegreyaOsF{\fontfamily{Alegreya-OsF}\selectfont}
226   \def\AlegreyaTLF{\fontfamily{Alegreya-TLF}\selectfont}
227   \def\AlegreyaTOsF{\fontfamily{Alegreya-TOsF}\selectfont}

艾雷格瑞亚

235 \else % type1
236 
237   \def\AlegreyaSansfamily{AlegreyaSans-\AlegreyaSans@figurealign \AlegreyaSans@figurestyle}
238   \def\AlegreyaSans{\fontfamily{\AlegreyaSansfamily}\selectfont}
239   \def\AlegreyaSansLF{\fontfamily{AlegreyaSans-LF}\selectfont}
240   \def\AlegreyaSansOsF{\fontfamily{AlegreyaSans-OsF}\selectfont}
241   \def\AlegreyaSansTLF{\fontfamily{AlegreyaSans-TLF}\selectfont}
242   \def\AlegreyaSansTOsF{\fontfamily{AlegreyaSans-TOsF}\selectfont}

我添加了行号以供参考。每个代码片段的最后四行告诉您要使用什么作为参数\fontfamily

首字母缩略词LFOsFTLF分别TOsF代表“衬线数字”、“旧式数字”、“表格式衬线数字”和“表格式旧式数字”。

对于 XeLaTeX 或 LuaLaTeX 来说更简单:输入

\newfontfamily{\alegreyasans}[
  <options>
]{AlegreyaSans}

\alegreyasans当您需要此字体时使用。

相关内容