gpt4 book ai didi

pdf - 如何确认 TrueType PDF 字体缺少字形

转载 作者:行者123 更新时间:2023-12-04 13:41:54 25 4
gpt4 key购买 nike

我有一个 PDF,它在 Acrobat 中呈现良好,但在我们打印机的 RIP 上的 PDF 到 PS 转换过程中无法打印。在用 pdftk 解压缩和编辑后,我发现如果我替换某种字体的用法,它将打印出来。

字体很奇怪,是一个只有一个字符(空格)的 TrueType 子集。

如果我通过 Ghostscript 传递 PDF,它不会报告任何错误,但是 Acrobat 飞行前检查会报告缺少空格字形。原始文件不会报告此错误。我只是在使用一个基本命令:gswin32c -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -o gs.pdf original_sample.pdf

我已经从原始 PDF 中提取字体数据并保存。运行 TTFDUMP.exe 会产生一个有趣的结果,其中似乎缺少“glyf”表:

4. 'glyf' - chksm = 0x00000000, off = 0x00000979, len =        0
5. 'head' - chksm = 0xE463EA67, off = 0x00000979, len = 54

只是想知道,我对这个结果的解释是否正确?像这样对从 PDF 中提取的数据运行 TTFDUMP 是否有效?我认为根据规范需要一个“glyf”表,至少对于前 4 个必要字符。

在 ghostscript PDF 上运行 TTFDUMP 会产生类似的结果,但带有 1 字节的“glyf”表。

如果是这样,那么 Acrobat 似乎并不特别关心丢失的空间,而其他程序(包括打印机)会关心。奇怪的是,直到它通过 Ghostscript 运行它才被报告为丢失。

PDF 是由 Adob​​e InDesign 创建的,字体和大多数字体一样受版权保护,所以我不能分享它。

编辑 - 我接受了 Ken 的回答,因为他在 Ghostscript 错误跟踪器上帮助了我。总之,由于缺少 glyf 表,字体似乎已被怀疑损坏。除非我听到其他消息,否则我将不得不假设这是 InDesign 中的错误,并将继续调查。

最佳答案

是的,您可以在嵌入的子集字体上运行 ttfdump,它仍然是一种完全有效的字体。

缺少字形并不是特别的问题,因为使用了 .notdef 字形,缺少 .notdef 意味着字体不合法。

我认为您误解了共享 PDF 文件的合法性(从字体嵌入的角度来看)。实际上,您看到的每个 PDF 文件都将包含受版权保护的字体,但这些字体可以作为 PDF(或实际上是 PostScript)文件的一部分嵌入和分发。 TrueType 字体包含控制字体 DRM 的标志,并且可以拒绝嵌入 PDF(或其他格式)。 Ghostscript 像 Acrobat Distiller 和其他 Adob​​e 产品一样尊重字体中的这些嵌入标志。

有一些字体无意中随 DRM 一起提供,阻止了嵌入,并且在某处有一个列表,以及字体类型转换厂允许嵌入这些字体的明确声明。我想这是几年前在 Adob​​e 网站上的某个地方。

因此,如果您有一个嵌入字体的 PDF 文件(特别是如果它是由 Adob​​e 应用程序生成的),那么我很乐意分享它的合法性。

我在弄清楚问题到底是什么以及您如何使用 Ghostscript 时遇到了一些麻烦。如果您正在运行 PDF->PS,然后返回 PDF,那么坦率地说,所有的赌注都没有了。往返文件通常会引发问题。

无论如何,我很乐意查看该文件,但您必须提供它。

关于pdf - 如何确认 TrueType PDF 字体缺少字形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26397712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com