2011-09-07 35 views
3

如何獲取漢字筆畫數?如何獲取漢字筆畫數?

實施例>

一=> 1

十=> 2

日=> 4

+1

你能使用查找表? http://technology.chtsai.org/charfreq/characters.html – Gabe

+0

請參見問題[以編程方式確定中文字符的筆畫數量](http://stackoverflow.com/questions/2398334/programatically-determine-number-of-招-IN-A-中國字符)。 – lschin

回答

4

簡短的回答:你不能沒有字符筆劃計數的硬編碼的地圖。然後,您必須假定用戶正在使用特定的中文變體(例如傳統)。

Unicode(NSString使用的基本字符集)不區分傳統,簡化,日語特定,韓語漢字等。 Unicode不直接對筆畫信息進行編碼。相反,它區分個字符(不是它們的圖形表示),並且字符可能具有不同的筆劃數,具體取決於使用的語言和字體。所以雖然角色十可以普遍有兩個筆畫,但其他角色會有所不同。

維基百科給出的例子是「grass」,U + 8279的字符,它有四個筆畫,但在其他所有變體中有三個。

+0

如果用戶設置國際設置,筆畫計數是否不變? (比如聯繫人應用) – ChangUZ

+0

也許,但是仍然不會有API來獲取筆畫數。沒有OS定義的'GetStrokeCount()'函數或類似的東西。 –

0

謝謝,數學。

首先,撥打

NSInteger section = [[UILocalizedIndexedCollation currentCollation] sectionForObject:yourObject collationStringSelector:@selector(objectsProperty)]; 

再檢查節的指數在下面的數組

[UILocalizedIndexedCollation currentCollation].sectionTitles 

記住添加

Localized resources can be mixed = YES 

在info.plist中