查看 的输出pdffonts
,我看到了一些我期望的字体,也看到了一些我不期望的字体。如何确定某个字体在哪里使用?例如,我看到SFTT1095
我的某个文档中正在使用。Google 告诉我这是来自包cm-super
(我没有使用)并且它是计算机现代打字机字体。我不相信我有任何打字机字体的文本,当我将打字机字体更改为其他字体时,我没有看到任何差异。
有没有好的方法来确定导致嵌入此特定字体的原因?某种可视化 PDF 调试器会很方便。
我怀疑最后我还是会通过二进制搜索来浏览整个文档,但我希望有更好的方法。
答案1
我会首先查看 t1cmtt.fd 何时加载。这应该会在第一次使用字体时给你一些提示。
您还可以操作地图线。如果有机会,您可以看到字体的使用位置,或者至少在日志中获得有关所用字形名称的信息。
\documentclass{scrartcl}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\pdfmapline{=ectt1095 SFTT1095 <SkakNew-Figurine.pfb}
\begin{document}
abc {\ttfamily abc KQR}
\end{document}
答案2
您可以使用 Acrobat Professional 执行此操作,但这有点晦涩难懂。以下是 Acrobat 9 的秘诀:
Advanced
->Preflight...
- 选择
Profiles
选项卡,然后选择三个按钮的左侧(带有工具提示Select profiles
,以及一个可能是篮子的图标?) - 此步骤是可选的,但如果您这样做,那么您可以从列表中选择字体,而不必键入它们:
- 选择任意一个配置文件(我喜欢
Report PDF syntax issues
)并按下Analyze
按钮执行它。 - 假设没有错误,返回到配置文件选项卡
- 选择任意一个配置文件(我喜欢
- 从
Options
窗口右上角的按钮/菜单中选择Create New Preflight Profile...
- 给配置文件命名(例如“检查特定字体的使用情况”)。
- 在左侧的树面板中,在
Fonts
新配置文件的分支上。 - 使用旁边的下拉菜单
A font is used which is
将其更改为Info
。 - 单击
Add...
按钮并选择您想要调查的字体(如果您跳过了上面的可选步骤,那么您只需输入字体名称,忽略 6 个字符的随机前缀)。 - 单击
OK
,选择您的新个人资料(在 下Custom profiles
),然后按Analyze
- 展开
Text uses font
树分支,查看所有用途。选择字体的不同用途,然后双击跳转到文档中的位置(周围有一个方框以示强调),或单击Show in snap
以仅查看相关文本的预览。
Acrobat 9 预检工具中还提供了另一个用于调查 PDF 中字体使用情况的有用工具。单击Options
按钮/菜单并选择Create inventory...
。仅检查Fonts
并单击OK
。现在您有一份显示所有字体使用情况的文档,包括子集中包含哪些字形、它们的 Unicode 名称是什么、它们出现在哪些页面上,以及其他秘密,例如 PostScript 名称和斜体角度。
答案3
我通常在 FontForge 中打开 PDF,选择相关字体,查看使用了哪些字形子集,然后在 PDF 中搜索它们。这可能不是最好的方法,但我在测试 unicode-math 包时经常使用它来查看哪些符号仍取自 CM 而不是我的字体。
答案4
我发现,找出答案的最佳方法是使用 Microsoft Word 将 PDF 转换为 Word,或使用 OneDrive 在线免费转换。这令人难以置信地保存了所有格式(语义上)。然后可以搜索特定字体等。 https://www.howtogeek.com/363203/how-to-find-and-replace-formatting-in-microsoft-word/