使用AppleScript在字符串中使用变音符计数字符

时间:2016-02-18 20:20:16

标签: unicode applescript arabic

我正在编写AppleScript来计算Unicode字符串中的字符数。该脚本运行良好,但它不计算阿拉伯语变音符号,例如:

considering diacriticals, hyphens and punctuation
    set count_a to count characters of ("فما")
    set count_b to count characters of ("فَمّا")
end considering

这给count_a = 3,这是正确的。但是,它也给count_b = 3,这是错误的! count_b应为5,因为添加了两个额外的变音符号。

任何想法如何让AppleScript计算变音符号?

1 个答案:

答案 0 :(得分:1)

AppleScript正在按设计工作。像Swift和其他对Unicode有很好理解的语言一样,AppleScript会计算字形,而不是代码点。

如果由于某种原因你确实需要计算原始代码点,请使用AppleScript-ObjC桥将其转换为NSString(旧的和哑巴没有字形的概念)并计算。请记住,原始代码点计数也可以根据给定文本使用的规范化形式而变化。除了用于存储它的字节数之外,它实际上并不是一个有用的衡量标准。