【发布时间】:2010-08-12 10:05:55
【问题描述】:
连字是由多个代码点表示的 Unicode 字符。例如,在梵文中,त्र 是一个由代码点 त + ् + र 组成的连字。
当在记事本等简单的文本文件编辑器中看到时,त्र 显示为त् + र,并存储为三个 Unicode 字符。但是,当在 Firefox 中打开同一个文件时,它会显示为正确的连字。
所以我的问题是,如何在从我的代码中读取文件时以编程方式检测此类连字。既然 Firefox 做到了,就必须存在一种以编程方式做到这一点的方法。是否有任何包含此信息的 Unicode 属性,或者我是否需要映射到所有此类连字?
SVG CSS 属性text-rendering 设置为optimizeLegibility 时执行相同的操作(将代码点组合成正确的连字)。
PS:我正在使用 Java。
编辑
我的代码的目的是计算 Unicode 文本中的字符数,假设连字是单个字符。所以我需要一种方法将多个代码点折叠成一个连字。
【问题讨论】:
-
你能解释一下你为什么需要它吗?我问这个是因为没有简单的方法可以做到这一点。
-
@SorinSbarnea:我在帖子中添加了目的。
-
我认为单独实现复杂的脚本处理希望不大。使用现有的库之一,例如 Uniscribe 或 libfreetype。
标签: java unicode text clojure ligature