如何确定文档中字体的使用位置?

如何确定文档中字体的使用位置?

查看 的输出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 的秘诀:

  1. Advanced->Preflight...
  2. 选择Profiles选项卡,然后选择三个按钮的左侧(带有工具提示Select profiles,以及一个可能是篮子的图标?)
  3. 此步骤是可选的,但如果您这样做,那么您可以从列表中选择字体,而不必键入它们:
    • 选择任意一个配置文件(我喜欢Report PDF syntax issues)并按下Analyze按钮执行它。
    • 假设没有错误,返回到配置文件选项卡
  4. Options窗口右上角的按钮/菜单中选择Create New Preflight Profile...
  5. 给配置文件命名(例如“检查特定字体的使用情况”)。
  6. 在左侧的树面板中,在Fonts新配置文件的分支上。
  7. 使用旁边的下拉菜单A font is used which is将其更改为Info
  8. 单击Add...按钮并选择您想要调查的字体(如果您跳过了上面的可选步骤,那么您只需输入字体名称,忽略 6 个字符的随机前缀)。
  9. 单击OK,选择您的新个人资料(在 下Custom profiles),然后按Analyze
  10. 展开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/

相关内容