在 XeLaTeX 中正确使用 LaTeX 字体的方法

在 XeLaTeX 中正确使用 LaTeX 字体的方法

使用 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 版本提供了单独的映射。

此外,inputencfontenc包不适用于 XeTeX,因此不能加载它们以在此引擎中使用打包的 Type 1 字体。换句话说,不能在 XeTeX 中任意混合打包的 Type 1 和用户提供的 OpenType 字体。据我所知,使用 LuaTeX,可以使用经过修改的字体fontenc来使用打包的 Type 1 字体,以及类似于传统T1编码。最后,需要注意的是,T1(Text 1)字体编码和 Type 1 字体格式是两种不同的东西,它们恰好有令人混淆的相似名称,尽管它们通常在 的上下文中一起使用pdftex。Type 1 是 Adob​​e 的字体格式,而T1是所谓的Cork 编码它是由 TeX 社区在 20 世纪 90 年代初期开发的标准。

相关内容