2007年4月17日火曜日

ICU4JでFullwidth-Halfwidth

いわゆる全角カタカナをいわゆる半角にするために、ICU4Jを使ってみた。

まず、TransliteratorのIDをしらべてみた。


Jython 2.2b1 on java1.6.0_01 (JIT: null)
Type "copyright", "credits" or "license" for more information.

>>> from com.ibm.icu.text import Transliterator

>>> for i in Transliterator.getAvailableIDs():

...   print i

...

こんな感じで。

日本語が(も)関係すると思われるもの

  • Fullwidth-Halfwidth
  • Halfwidth-Fullwidth
  • Hiragana-Katakana
  • Hiragana-Latin
  • Katakana-Hiragana
  • Katakana-Latin
  • Latin-Hiragana
  • Latin-Katakana
  • Any-Hiragana
  • Any-Katakana

なんか使えそう?

  • Any-Hex/Unicode
  • Any-Hex/Java
  • Any-Hex/C
  • Any-Hex/XML
  • Any-Hex/XML10
  • Any-Hex/Perl
  • Any-Lower
  • Any-Upper
  • Any-Title
  • Any-Name
  • Name-Any

よくみる正規化(JavaSE6のjava.text.Normalizerにもあるけど、違いは知らない)

  • Any-NFC
  • Any-NFD
  • Any-NFKC
  • Any-NFKD

変換してみる
>>> from java.lang import String

>>> t.transliterate(String("バリ島", "UTF-8"))

u'\uFF8A\uFF9E\uFF98\u5CF6'

>>> print t.transliterate(String("バリ島", "UTF-8"))

��゙リ島



0 件のコメント:

コメントを投稿