Free Support Forum - aspose.com

Aspose.pdf 如何获取字符在嵌入TTF字体文件中的索引

我现在需要将PDF转换为一个专用的办公文档格式,但是这个文档需要提供字符在字体文件中的索引,系统内的字体集,我可以用API函数 GetGlyphIndices 来获取,但是PDF内嵌的字体,就不行了,请问ASPOSE.PDF是否提供这个功能,如有,请问如何实现
附上字体文件,及文字对应的索引
font_1_1.zip (208 Bytes)
在这个字体文件中,现在可以确定
“重庆” 这两个字的索引,分别对应 93 44
不知道我有没有描述的足够清楚
这个并不需要原文档,只是单纯取的 嵌入式字体文件 中字符的索引

也就是说,如何查询嵌入字体的CMAP表,取得相应字符在其中的索引
我找到了


但不知如何使用
JAVA版本有这个

.NET的在哪里

@icejd

我们正在最后检查相关信息,并会尽快与您联系。

好的,请问现在有结果了吗,

@icejd

我们担心尚未对所需的功能进行详细的调查,因此,我们已在问题跟踪系统中将调查票据记录为PDFNET-49638。 我们将进一步分析您的要求是否可以实现,并在问题单得到解决后立即通知您。 请给我们一些时间。

我们对不便表示抱歉。

我似乎发现aspose.fonts 有点作用,我用下面的代码可以取得字体文件的GlyphIds 数量是正确的,
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition(“ttf”, new FileSystemStreamSource(fileName)));

                                TtfFont ttfFont = Aspose.Font.Font.Open(fd) as TtfFont;
                                var ids = ttfFont.GetAllGlyphIds();

那么请问我如何取得指定字符在字体文件中的Index,比如上面附件中的“重庆” 这两个字的索引,分别对应 93 44
我尝试用 ttfFont.GetGlyphsForText(“重”);
得到 的结果是null

@icejd

我们试图在我们的环境中测试该场景,但是在第二行代码中遇到了一个例外:

#= ze6HUch9SkveXDe6x8TXZooj6o1ND6MTK5w ==:'未找到所需的表'head'。

为了更正,已在我们的问题跟踪系统中记录了一个名为“FONTNET-217”的问题。我们将进一步调查其详细信息,并向您发布其更正状态。请耐心等待,为我们节省一些时间。

我们对造成的不便很抱歉。

@icejd

您能否再次与我们共享字体文件?我们已经检查了字体文件,它是无效的。它的主体中仅包含零。

@asad.ali font_1_1.zip (17.4 KB)
抱歉,上一次传的字体文件确实有问题,请用这个试试

@icejd

感谢您提供正确的字体文件。

我们已经根据已记录的故障单更新了信息,并在故障单解决后立即通知您。请给我们一些时间。