使用 XeLaTeX 时,fontawesome 图标变得太大

使用 XeLaTeX 时,fontawesome 图标变得太大

必须使用 XeLaTeX 编译以下示例才能重现该问题。

% arara: xelatex
\documentclass{article}
\usepackage{fontawesome}
\begin{document}
Text Text \faMobilePhone\ Text Text
\end{document}

通常我使用 TeXworks 来编译和查看输出。使用内部查看器,我得到了所需的结果。下图演示了这一点:

在此处输入图片描述

但是,如果我使用预览(Mac 的查看器)打开 pdf,图标的缩放就会失败。

在此处输入图片描述

如果我用 Adob​​e Acrobat Reader 打开 pdf 文件,图标仍能正确缩放。如果我打印该页面,我的打印机也无法正确缩放图标。

如果我使用 LuaLaTeX 一切似乎都正常工作。

您能重现该问题吗?您知道解决方案吗?

答案1

xdvipdfmx.otf(XeTeX 的输出驱动程序)在处理非 1000 UPM 的CFF 风格的 OpenType 字体(通常带有扩展名的字体)时存在错误。它是一种已知错误不幸的是,没有已知的解决办法。

Font Awesome 有 1792 UPM,因此存在这些错误。

一个可能的解决方法是将字体更改为使用 1000 UPM。FontForge可以从 GUI 轻松完成此操作元素 → 字体信息 → 常规 → Em 尺寸并将值更改为 1000,同时保持[x] 比例轮廓选择,这样 FontForge 就可以进行必要的缩放来补偿 UPM 变化。然后生成一个新的 OTF 文件。使用 FontForge 的 Python 脚本,可以按如下方式完成此操作:

import fontforge
font = fontforge.open("FontAwesome.otf")
font.em = 1000
font.generate("FontAwesome-1000upm.otf")

另一个解决方案是仅使用字体的 TTF 版本,但我不确定它与 OTF 版本编码的兼容性如何。

答案2

下载https://fontawesome.com/v4.7.0/assets/font-awesome-4.7.0.zip

然后在字体下,安装 ttf 而不是 otf,并在文件中*.sty替换

\newfontfamily{\FA}{FontAwesome} with \newfontfamily{\FA}{FontAwesome Regular}

相关内容