首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C/C++中从True type字体文件中提取Unicode字符值的编程实现

C/C++中从True type字体文件中提取Unicode字符值的编程实现
EN

Stack Overflow用户
提问于 2012-07-19 23:12:18
回答 2查看 985关注 0票数 1

我正在尝试从PDF中包含的嵌入式true type字体文件中提取UTF-8字符值。有没有人知道这样做的方法?PDF中的值可能类似于'2%dd!w!|<~‘,在由TTF中的相应字形表示的PDF中,这将以'Hello World’结束。我希望能够在这里提取wchar值。这个是可能的吗?TTF中是否存在每个字符的UTF-8值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-30 18:29:05

字形ID并不总是对应于Unicode字符值-特别是对于使用大量连字和变体字形形式的非拉丁文字,其中字形和字符之间没有一对一的对应关系。

只有带标签的PDF文件才会存储Unicode文本,否则您可能需要从字体中的字形名称重新构建字符。如果使用的字体具有根据Adobe的字形命名约定或Adobe Glyph List Specification命名的字形,这是可能的-但许多字体,包括标准的视窗字体,不遵循这种命名约定。

票数 2
EN

Stack Overflow用户

发布于 2012-07-20 15:58:57

UTF-8是一种编码,它允许对UTF8编码的流进行解码,以显示unicode字符点的序列。在任何情况下,PDF都不使用UTF-8编码。对于真类型文本,使用8位对每个字形进行编码。

解码:

  1. 一次从字体definition
  2. Read读取8位的差异数组和编码,并使用在步骤1中读取的编码和差异数组生成"AdobeGlyphId“。
  3. 使用adobe字形id查找Unicode值

这在PDF规范的9.10节中有详细介绍

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11563856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档