如何使用Java从字体文件中读取Unicode范围

时间:2018-01-31 02:27:56

标签: java fonts web-crawler

我有一个包含Unicode和相应字体的ttf文件。如图所示:

enter image description here

红色框是Unicode,上面的文本是相应的字体。我怎样才能从字体文件中提取Unicode?

1 个答案:

答案 0 :(得分:1)

Unicode字体将字符映射到字形。 此SO问题描述了该过程:How does a Unicode character get mapped to a glyph in a font?

如果一个字体将一个字符映射到一个看不到该字符应该是什么的字形,就无法找出其他字符代表所显示字形的内容(在渲染时不能进行OCR)角色的位图)。

在您的情况下,Java字符(和Unicode代码点)U + EDBC位于Unicode Private Use Area

  

在Unicode中,专用区(PUA)是一系列代码点,   根据定义,不会通过Unicode分配字符   联盟。 [...]不能考虑这些领域的代码点   作为Unicode本身的标准化字符。他们是故意的   left undefined,以便第三方可以定义自己的角色   没有与Unicode Consortium分配冲突。

这意味着这些角色甚至没有预期的标准含义。可能有一些此字体的文档,您可以在其中找到代码点的含义。

如果没有,您唯一的选择是创建自己的映射表,从网页上使用的字符到标准的unicode代码点,您认为这些代码点是字体显示的字形的最接近的表示形式。