2011年12月20日 星期二

取得繁體中文字元筆劃數 (Unicode)

上回以 big5 內碼分區查表方式取得中文字元筆劃數後,因無法納入 big5 字集的難字部分無法處理成為先天限制,使用起來頗為不快,不能滿意原解決方案。

於是繼續尋找可行方案,找到了 Unihan 統漢字資料庫,發現其資料十分豐富,倉頡碼、同義字、注音、筆劃數、部首筆劃數、... 等等資訊(沒全參透,就不完整列舉了),改天會再整理更多應用心得,這邊就先取用我需要的字元筆劃部分。應急 :)

Unihan 資料庫以純文字格式提供為多個檔案,我需要的筆劃資訊都存放在 Unihan 資料庫中的 Unihan_DictionaryLikeData.txt 檔,檔案格式不難解析:

2011年12月16日 星期五

取得繁體中文字元筆劃數

完整的中文筆畫查表方法,已另於 取得繁體中文字元筆劃數 (Unicode) 中提供,此為過渡時期方法,無法處理罕見字集。

專案中的某項功能需要依中文字筆劃數分組顯示,例如:1~5劃、6~10劃...等,因此產生了查得中文字元筆劃的需求。

本來呢寄望 Windows 或 IME 能提供相關的 API,但似乎沒那麼容易,網路上多數是轉 BIG5 後以內碼分區的查表方式取得筆劃數,查到有 PHPC#ActionScriptJava 這些例子,一篇篇讀下來解決方案如出一轍,應該是個穩定的方式吧!?

有了! 其中的 C# 範例是我想要的,但我更想利用 extension method 實作,所以就動手修改了一下代碼如下: