2016-02-18 31 views
0

我正在編寫一個AppleScript來計算Unicode字符串中的字符。該腳本運行良好,但它不包括阿拉伯語變音符號,例如:使用AppleScript在字符串中計數字符與變音符號

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

AppleScript按設計工作。像Swift和其他對Unicode有相當理解的語言一樣,AppleScript對字形進行計數,而不是對碼位進行計數。

如果由於某些原因,您確實需要計算原始代碼點,請使用AppleScript-ObjC橋將其轉換爲NSString(舊的和啞的沒有字形概念)並計算該值。請記住,原始碼位數也可以根據給定文本所使用的規範化形式而變化。除了用來存儲它的字節數之外,它確實不是一種有用的度量。