使用 LaTeX 字体的正确方法是什么,例如 calligra 或其他字体字体目录在 XeLaTeX 中。
就像是
\usepackage{fontspec}
\setromanfont{Calligra}
不起作用。但是使用它就像在 pdflatex 中一样
\usepackage{calligra}
并且\calligra
有效。那么,使用 XeLaTeX 中字体目录中的 LaTeX 字体的最佳方法是什么?
答案1
正如 @egreg 所说,使用 Fontforge 将 Type 1 字体转换为 TrueType 或 OpenType 字体非常容易。根据您的操作系统,Fontforge 将或多或少地集成,但我已在 OS X 和 Linux Mint 或 Ubuntu 上成功使用它(在 Windows 上,我相信您需要先安装 Cygwin)。一旦有了 Fontforge,您就可以通过选择相应的菜单项来使用它的导出功能。您可能能够将 Type 1 字体中的所有字符转换为 OpenType 版本。
之所以需要这样做,是因为 Type 1 字体pdftex
通常与提供度量和编码的软件包一起使用。如果没有为 XeTeX 或 LuaTeX 准备等效软件包,则无法直接使用 Type 1 字体,因为它没有正确的映射。相比之下,该libertine
软件包例如提供了与 Type 1 版本一起使用的映射,pdftex
并为与 XeTeX 和 LuaTeX 一起使用的 OpenType 版本提供了单独的映射。
此外,inputenc
和fontenc
包不适用于 XeTeX,因此不能加载它们以在此引擎中使用打包的 Type 1 字体。换句话说,不能在 XeTeX 中任意混合打包的 Type 1 和用户提供的 OpenType 字体。据我所知,使用 LuaTeX,可以使用经过修改的字体fontenc
来使用打包的 Type 1 字体,以及类似于传统T1
编码。最后,需要注意的是,T1
(Text 1)字体编码和 Type 1 字体格式是两种不同的东西,它们恰好有令人混淆的相似名称,尽管它们是通常在 的上下文中一起使用pdftex
。Type 1 是 Adobe 的字体格式,而T1
是所谓的Cork 编码它是由 TeX 社区在 20 世纪 90 年代初期开发的标准。