如何从 pdf 文件中的 Type 1 文本获取 Unicode 十六进制值?

How to get Unicode Hex Values from a Type 1 text in a pdf file?

我正在尝试用 C++ 编写一个 pdf 解析器。我在阅读一些用不使用拉丁字母的语言编写的文本时遇到了一些问题。

例如,我有一个描述为

的文本

T1_0 257 0 R

/T1_0 1 Tf
40.2614 0 0 47.4187 120.4995 595.2451 Tm
[(76)3(5)21(4)-8(3)5(21)]TJ

257 0 obj
<</BaseFont/HVTZBF+MyriadPro-Regular/Encoding 269 0 R/FirstChar 25/FontDescriptor 270 0 R/LastChar 31/Subtype/Type1/Type/Font/Widths[417 555 472 551 457 236 553]>>
endobj

269 0 obj
<</BaseEncoding/WinAnsiEncoding/Differences[25/uni03C2/eta/lambda/alpha/chi/iota/uni03BC]/Type/Encoding>>
endobj

我对获取字体详细信息不感兴趣,但我对获取此文本的 unicode 符号非常感兴趣。在 "Differences" table 中,文本的每个符号都有一个名称。第一个和最后一个符号是 Unicode 十六进制,但其余符号由 Adob​​e "Symbol Set and Encoding" table.

中的名称描述

例如"uni03C2" 是“ς”,"eta" 是“η”,"lambda" 是“λ”等

如何获取文本中每个符号的 Unicode 十六进制值?

p.s.: 我也试过解码 FontFile3 程序,但我看不到它的内容,除了一些关于字体许可证的信息。

p.s.2: Here 是文件的 link。

提前致谢。

您可以在“Adobe Glyph List”中找到名字。

可以通过删除以适当的 UTF-16 十六进制值结尾的前缀来翻译 uni 前缀。你能分享一个 link 到这种类型的文档吗?

AGL 的完整规格可用here