2011-05-23 91 views
0

Windows使用uniscribe库根据其位置替换阿拉伯文和印地文字符。新的字形仍然具有键入字符的原始Unicode,它在Unicode中具有它的专用表示形式 如何获得实际显示内容的Unicode而不是键入的内容。如何获得Unicode字符的字形unicode表示

+0

的Unicode没有规定的字形对于任何给定角色“什么是实际显示的Unicode” 。实际上,字体能够以任何方式呈现代码点。至少,你需要知道字体,然后尝试一些图像匹配,虽然这似乎比必要的更复杂。我认为你最好试着明确管理区域设置。 – 2011-05-23 22:54:14

回答

0

有很多像ICU,Charmap和其他的工具。我自己推荐http://unicode.codeplex.com,它使用Unicode字符数据库来表示字符。

请注意,unicode只是一些关于字符的信息,从来没有谈及表示。他们只是建议像他们的例子一样实施一个词。以便查看您需要的每个代码Standard Unicode FontMS Arial Unicode这是windows平台中最大和最好的选择。

大多数字符在该字体实现,但对于新的角色,你需要它的更新(如果有这样的更新),或者你知道,它实现了您可以使用的字体您的愿望字符

0

你对Uniscribe中发生的事情的解释是不正确的。 一旦你有字形原始信息消失,没有可靠的方法返回到Unicode。 (例如)来自'f'和'i'(U + 0066 U + 0069)或来自'fi'的((例如))的字形是无法辨别阿拉伯语的U + FB01)。 (http://www.fileformat.info/info/unicode/char/fb01/index.htm

此外,一些导致字形的不具有与其相关联的Unicode值,所以没有

+0

@ Mihai-Nita @ Nasser-Hadjloo [看到这个镜头拍摄](http://www.flickr.com/photos/[email protected]/5772906715/)在上面的图片中,你可以看到我输入了一个字符两次,将正确的一个转换为不同的形状以匹配它作为单词初始位置。尽管在转换为Unicode之后,我仍然得到一个unicode两次,尽管我对这些glyph有两个不同的unicode。即使我可以通过新的等效unicode,我会得到相同的字符串。想想看,如果我比较两个字符串会发生什么混乱 – esaesa 2011-05-29 21:16:34