我正在开发一个处理韩语句子的程序,我需要一种方法将音节或块分解为其字母。对于那些不懂韩文的人来说,一个音节由 2-4 个字母 (jamo) 组成,可以创建数千种不同的组合。我想做的就是将这些音节分解成构成它的字母。
我能够通过将其 Unicode 值与该范围内的关联字母进行比较来获取第一个字母,即以 x 字母开头的音节在 y 范围内。然而,我却找不到其余的字母。
这是一个包含朝鲜文音节 Unicode 值的表:http://jrgraphix.net/r/Unicode/AC00-D7AF http://jrgraphix.net/r/Unicode/AC00-D7AF
韩文音节分解(例如퓛
→ ᄑ
+ ᅱ
+ ᆶ
) 在 Java 中通过java.text.Normalizer
class:
String s = Normalizer.normalize("\uD4DB", Normalizer.Form.NFD);
Hangul 分解的算法也给出在Unicode 标准第 3.12 节(第 142 页) http://www.unicode.org/versions/Unicode9.0.0/ch03.pdf;由于规范化也会影响其他非朝鲜语字符,因此您应该熟悉 Unicode 规范化的一般原则和形式UAX #15 http://unicode.org/reports/tr15/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)