我很好奇,在使用时哪些字体扩展效果更好西拉特克斯编译 TeX 文档。我刚刚下载了字体阿莱格雷亚从亚太网络,并且附带一个fonts
文件夹,其中包含多种格式的字体文件夹:
FOLDER FONT FILE EXTENSION
afm *.afm
enc *.enc
map just one file: Alegreya.map
pfm *.pfm
tfm *.tfm
truetype *.ttf
type1 *.pfb
vf *.vf
我对字体一无所知,甚至不知道有这么多的字体格式,我不知道它们是用来做什么的。
我尝试在我的 TeX 文档中添加以下内容type1
并格式化:truetype
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[ Path = ./alegreya/fonts/truetype/huerta/alegreya/,
Extension = .ttf,
BoldFont = Alegreya-Bold,
ItalicFont = Alegreya-Italic,
BoldItalicFont = Alegreya-BoldItalic,
SmallCapsFont = AlegreyaSC-Regular,
SmallCapsFeatures = {Letters = SmallCaps},
Numbers = OldStyle
]{Alegreya-Regular}
到我的文档的序言部分(type1
使用Path = ./alegreya/fonts/truetype/huerta/alegreya/
和 也是一样Extension = .pfb
)。 两种格式都可以正常工作,因为我没有收到任何编译错误,并且 PDF 看起来不错。
我的问题是:是否有适合 XeLaTeX 的首选字体?如果有的话,关于字体嵌入的最佳实践是什么?我应该使用什么?字幕,磷酸二酯酶或其他?
干杯!
答案1
首先让我们看一下所有文件。这是我猜测的(但我不是这方面的专家……)。还请查看下面的 Beeton 夫人的评论,其中讨论了我的一些误解并提供了有关某些扩展的更多信息:
- afm:Adobe 字体规格文件
- enc:编码文件
- map:映射告诉 TeX
.tfm
字体与实际 type1/truetype/metafont 字体之间的关系 - pfm:打印机轮廓度量字体文件
- tfm:TeX 字体度量文件
- ttf:TrueType 字体文件
- pfb:Type 1 PostScript 字体文件(二进制)
- vf:TeX虚拟字体文件
.ttf
与 T1 的问题这里并且肯定也在这个网站的某个地方。
.vf
文件大致是“虚拟”字体的 TeX 字体度量文件。这些文件可能由取自不同字体的字符组成。例如,你可以创建一个包含旧式图形的字体,使用常规字体中的字母和补充字体中的图形。它们还可以告诉 TeX 如何构造原始字体中不存在的字符,包括连字(例如ffi
)和重音字符(例如é
)。与文件一样,它们还包括边界框、斜体校正、连字的使用(例如+ -> )等.tfm
所需的度量信息。请参阅f
i
fi
这里关于这个主题的非常好的信息。
最后,明确回答你的问题:你应该使用.ttf
这里的文件。由于 XeLaTeX 能够处理这些字体,你应该使用它。更好的是.otf
,但我不想在这里开启多余的字体讨论。
答案2
原则上,XeTeX 可以很好地处理.otf
或.ttf
字体文件。但是,在某些情况下,.ttf
字体版本缺少一些元数据(为了与旧版本的 Windows 兼容),因此当两者都可用时,您应该选择.otf
。
较旧的字体格式是类型 1,由一对数据文件.pfa
或.pfb
和一个度量文件组成.afm
。虽然 XeTeX 对 Type 1 字体有一定的支持,但您很可能会发现它存在缺陷(不自动支持字符变体,不支持运算符seac
);尽可能避免使用 XeTeX 的 Type 1 格式。
XeTeX 对其他类型的文件不感兴趣。(.pfm
文件只是.afm
转换为 Windows 特定的二进制格式的文件。 ,,,.enc
是传统TeX/pdfTeX 的支持文件。).map
.tfm
.vf