在Objective-C中组合韩文字符

我一直在摸不着头脑.

我想将两个韩文字符合并为一个.

ㅁ + ㅏ = 마

我将如何使用NSString执行此操作?

编辑:

zaph的解决方案适用于两个角色.但我很难知道如何结合2个以上.

ㅁ + ㅏ + ㄴ = 만

NSString *s = @"ㅁㅏㄴ";
NSString *t = [s precomposedStringWithCompatibilityMapping];
NSLog(@"%@", t);

打印出来

마ㄴ

编辑2:

我环顾四周,似乎更多涉及.像’만’这样的字符由3部分组成.最初的jamo,medial jamo和最后的jamo.这些需要组合以使用下面的等式映射到Hangul音节中的代码点.

((initial * 588) + (medial * 28) + final) + 44032

这个blog post有一个非常好的解释.

最佳答案 使用’ – (NSString *)precomposedStringWithCompatibilityMapping’.

NSString *tc = @"ㅁㅏ";
NSLog(@"tc: '%@'", tc);
NSString *cc = [tc precomposedStringWithCompatibilityMapping];
NSLog(@"cc: '%@'", cc);

NSLog输出:

tc: ‘ㅁㅏ’
cc: ‘마’

请参阅Apple的技术Q& A QA1235:Converting to Precomposed Unicode

点赞