2

TrueType我根据 Adob​​e 手册在 pdf 文件中嵌入了字体:

7 0 obj 
<<
/BaseFont /Arial
/FirstChar 32
/LastChar 126
/Subtype /TrueType
/FontDescriptor 8 0 R
/Widths 59 0 R
/Type /Font
>>

它可以在大多数 PDF 查看器中完美运行,例如 Evince、Xournal、PDF Editor 等;但它在 Adob​​e Reader XI 中不起作用。它根本不显示任何文本(显示图纸)。在 PDF 属性中,它没有我的嵌入字体。看来,Adobe Reader 无法找到嵌入的字体。但是 Adob​​e Reader 与其他 PDF 查看器有什么区别。

更新:最初,我从 PDF 手册中复制了文本,非法字符是 Unicode 减号。这是该文件的更新版本。仍然,它不显示嵌入的字体,而是默认的替代字体。

PDF文件

4

2 回答 2

3

可能还有其他问题,但乍一看,我可以看到您的字体描述符已损坏:

8 0 obj 
<<
/FontName /Acens
/StemV 105
/Leading 83
/FontFile2 10 0 R
/Ascent 720
/Flags 262178
/XHeight 394
/AvgWidth 478
/Descent −270
/ItalicAngle 0
/StemH 45
/MaxWidth 1212
/MissingWidth 255
/FontBBox [−177 −269 1123 866] <- This guy here does not look very well
/Type /FontDescriptor
/CapHeight 660
>>
endobj 

除了 Acrobat 之外,您尝试过的所有读者很可能都只是忽略了这个问题并假设了某种“默认”值。

于 2012-10-24T00:46:26.787 回答
3

除了字体描述符损坏之外,FontFile2 流字典不完整:

8 0 obj 
<<
[...]
/FontFile2 10 0 R
[...]
>> 
endobj 
10 0 obj 
<<
/Length 29061
>>
stream 
[...]

根据规范 (ISO 32000-1:2008) 缺少 Length1 条目:

(Type 1 和 TrueType 字体需要)Type 1 字体程序或整个 TrueType 字体程序的明文部分在使用流的过滤器条目指定的过滤器(如果有)解码后的长度(以字节为单位) .

于 2012-10-24T07:40:55.963 回答