『IronPython の世界』を読む (5) の続きを進めようかと思ったが、
MS、日本語固有のニーズに対応した「Visual Studio」用ライブラリ集を公開 - 数値データを漢数字の文字列に変換したり、日本語IMEに対応した自動補完が可能 が目に付いた。
日本語文字列の操作に便利なライブラリとしては、数値データを漢数字の文字列に変換できる「East Asia Numeric Formatting Library」、ひらがな・カタカナ・半角カタカナを相互変換できる「Japanese Kana Conversion Library」、均等割り付けを用いて文字列を描画できる「Japanese Text Alignment Library」、日本語IMEに対応した自動補完機能を実現する「Japanese Yomi Auto-Completion Library」が含まれている。
じゃあ、これも IronPython から使ってみようかということで、やってみる。
ダウンロードの詳細 : Microsoft Visual Studio International Pack 1.0 からダウンロード。解凍すると、CHSPinYinConv.msi、CHTCHSConv.msi、EANumFormat.msi、JPNKanaConv.msi、JPNTextAlign.msi、JPNYomiAutoComp.msi、KORAutoComp.msi がある。
* East Asia Numeric Formatting Library - 数値データを日本語、繁体字中国語、簡体字中国語および韓国語における漢数字の文字列に変換します。
* Japanese Kana Conversion Library - ひらがな、カタカナ、半角カタカナの相互変換、およびローマ字の変換をします。
* Japanese Text Alignment Library - 日本語固有の均等割付を用いて文字列を描画します。
* Japanese Yomi Auto-Completion Library - 日本語IME における読みの入力に対応したオートコンプリート機能を提供するライブラリとサンプルのTextBox コントロールを提供します。
* Korean Auto Complete TextBox Control - 韓国語入力に対応したオートコンプリート機能を持つTextBox コントロールを提供します。
* Simplified Chinese Pin-Yin Conversion Library - 簡体字中国語で一般的に用いられるPolyphone、Homophone、Pinyin や画数などの文字のプロパティを取得します。
* Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool - 繁体字中国語と簡体字中国語の間の双方向変換を容易にするクラスライブラリを提供します。このコンポーネントには、簡体字中国のリソースファイルを繁体字中国語に変換するための、Visual Studio 統合開発環境用アドインツールが含まれます。
ということなので、韓国語と中国語関連のは使わないので、EANumFormat.msi、JPNKanaConv.msi、JPNTextAlign.msi、JPNYomiAutoComp.msi をインストールしてみる。それぞれのインストーラーを起動すると、\Program Files\Microsoft Visual Studio International Pack の下にそれぞれ、East Asia Numeric Formatting Library、Japanese Kana Converter Library、Japanese Text Alignment Library、Japanese Yomi Auto-Completion Library のディレクトリが作成されてインストールされる。
とりあえず、また気合いで使ってみる。やっぱり、IronPython って、.NET のライブラリが使えるから、MS の環境のなかでやっている分にはやたら便利かもしれない。
>>> import clr
>>> import sys
>>> sys.path.append("C:\\Program Files\\Microsoft Visual Studio International
Pack\\Japanese Kana Converter Library")
>>> clr.AddReferenceToFile("JpnKanaConversion.dll")
>>> clr.AddReferenceToFile("JpnKanaConvHelper.dll")
>>> from Microsoft.International.Converters import KanaConverter
>>> KanaConverter.RomajiToHiragana("korehadoudesu")
u'\u3053\u308c\u306f\u3069\u3046\u3067\u3059'
>>> print KanaConverter.RomajiToHiragana("korehadoudesu")
これはどうです
>>> print KanaConverter.HalfwidthKatakanaToHiragana("キャキャキャ")
きゃきゃきゃ
>>> print KanaConverter.HalfwidthKatakanaToKatakana("キャキャキャ")
キャキャキャ
>>> print KanaConverter.HiraganaToKatakana("ひらがな")
ヒラガナ
>>> print KanaConverter.KatakanaToHiragana("カタカナ")
かたかな
>>> sys.path.append("C:\\Program Files\\Microsoft Visual Studio International
Pack\\East Asia Numeric Formatting Library")
>>> clr.AddReferenceToFile("EastAsiaNumericFormatter.dll")
>>> from Microsoft.International.Formatters import EastAsiaNumericFormatter
>>> from System.Globalization import CultureInfo
>>> print EastAsiaNumericFormatter.FormatWithCulture("L", 123.45, None,
CultureInfo("ja"))
壱百弐拾参
といったように IronPython から使えるのまで確認。