tmytのらくがき

個人の日記レベルです

WP7でも日本語入力したい

WP7のBetaリリースから日本語が読めるようになりました。若干Chinaな香りの漂う漢字ですが。でも読めるんです。日本語が。漢字がChinaだろうがなんだろうが読めるんです。いままでの2byte文字は全部豆腐です。に比べればすばらしいことです。
→ で、ところで日本語入力はできるの?
できるわけないです。US版のエミュレータなので。そもそもIMEの開発がどれぐらい進んでるのかすら…日本での発売未定ですしね。
そこでいつものようにIRCid:iseebiとかとぐだぐだやってたらid:iseebiが一晩でやってくれたものがこちら。

そろそろ Windows Phone 7 のアプリも書き始めないとなーとか思ったのですが、Betaになってから表示はできるようになったものの当初の発売予定が存在しない日本語のIMEは現時点ではサポートされていません。

アプリ作るにもひとまず日本語入力ができないと何もできないので、Social IMEを使って日本語入力を実装してみました。入力した内容を、Socal IMEに問い合わせて、入力候補を探してきます。

Windows Phone 7 で日本語入力を実現する - backyard of 伊勢的新常識

ソーシャルIMEの予測変換APIを使って予測変換だけできます!という切れ端です。
でもってせっかくなのでユーザコントロールにしてみたものがこちら。

SIPを記号モードにして出てくる"・"(なかぐろ?)をタップするとIMEがOn/Offされます。IMEが有効だとテキストエリアの枠がPhoneAccentColorになる仕様。

使い方は、Japanese.JpTextBox.dllをアセンブリ参照に追加して、XAMLの最初のほう、phone:PhoneApplicationPageにxmlnsを追加します。追加したら後はてきとーなかんじでXAML書くと使えます。

<phone:PhoneApplicationPage
    xmlns:jp="clr-namespace:Japanese;assembly=Japanese.JpTextBox"
    >
    <jp:JpTextBox x:Name="textBox" />
</phone:PhoneApplicationPage>

バインディングとかバグってるというか、よくわかってないやつが作ってるので誰か詳しい方直していただけませんか、お願いします。というリリースでした。

Download: Japanese.JpTextBox.1008171158