我正在编写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计算变音符号?
答案 0 :(得分:1)
AppleScript正在按设计工作。像Swift和其他对Unicode有很好理解的语言一样,AppleScript会计算字形,而不是代码点。
如果由于某种原因你确实需要计算原始代码点,请使用AppleScript-ObjC桥将其转换为NSString(旧的和哑巴没有字形的概念)并计算。请记住,原始代码点计数也可以根据给定文本使用的规范化形式而变化。除了用于存储它的字节数之外,它实际上并不是一个有用的衡量标准。