« [.NET] International Feature Pack 2.0 Beta ~ .NET な開発者/SE/発注者は、必ず評価すべき | トップページ | オブジェクト指向のプログラム@Wikipedia »

2009年6月20日 (土)

[.NET] WPF でフリガナを取得してみる ~ International Feature Pack 2.0 Beta

International Feature Pack 2.0 Beta に含まれている、 YomiganaWPFTextBox コントロールをとりあえずざっくり使ってみる。 Win7RC に VC#2008EE です。

20090620_yomigana01

このように、 コントロールに IME を使って入力した文字列の読み仮名が、 下のラベルに表示されます。
変換を確定させたところで、 TextChanged イベントが発生しています。 ( 変換候補を選んでる途中では、 発生しません。 どうやってるんだろう? )

コードは、 TextChanged イベントハンドラを書いただけ。
WPF では、 どうあがいても綺麗に読み仮名を取得できませんでしたからね、 これは素晴らしい!

private void yomiganaWPFTextBox1_TextChanged(object sender, TextChangedEventArgs e) {
  if (this.label1 == null)
    return;

  this.label1.Content = ((YomiganaWPFTextBox)sender).Yomigana;
}

ただし、 最初のβ版なので、 いろいろあります…

※ 要望やフィードバックは MSDN Forum: Visual Studio International Pack へどうぞ。 以下は、 同フォーラムの 「WPF で読み仮名を取得できる YomiganaWPFTextBox コントロール (beta版) の仕様・不具合」 スレッドにも書きました。

20090620_yomigana02
最初の画面の状態から BS で末尾の文字を消してみました。 入力した文字を BS や DEL で削除しても、 ふりがなは元のままです。

20090620_yomigana04
「森泉」 と入力してから、 「の」 を入力。 文字列の途中に挿入しても、 すべて末尾への追加になってしまいます。

20090620_yomigana05
変換候補の選択操作を伴うとき ( さらにもうすこし条件があるようですが… )、 「一の宮」 や 「市ヶ谷」 が、 漢字のまま読み仮名として出てきてしまうことがあります。 これは明らかに不具合でしょう。
学習順序にもよるみたいですが、 厳密な条件はまだ不明。

20090620_yomigana06
変換を確定させる操作 ( Enter やカーソルキー ) をせずに次の入力に移ると、 読み仮名が取得されないようです。

20090620_yomigana07_2
IME オンになっているときしか、 読み仮名として出てきません。 IME オフのときは、 そのまま読み仮名として使ってほしいです。
一つ前の変換確定操作が必要だという件と合わせると、 私の通常の入力パターンでは、 ほとんど読み仮名のほうに出てこないです。 末尾だけ、 この例だと 「ほしい」 だけになっちゃいます。

20090620_yomigana08
読み仮名にスペースが入りません。 "mori^[space]ougai" とキーインし、 全体を一気に変換させて確定しても、 スペースは無視されちゃうようです。

そうそう。 ヘルプファイルが英文なんですよね~。
早いところ日本語化してほしいもんです。 というか、 元は日本語なんじゃ? f(^^;

|

« [.NET] International Feature Pack 2.0 Beta ~ .NET な開発者/SE/発注者は、必ず評価すべき | トップページ | オブジェクト指向のプログラム@Wikipedia »

プログラミング」カテゴリの記事

* プログラミング ( WPF )」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [.NET] WPF でフリガナを取得してみる ~ International Feature Pack 2.0 Beta:

« [.NET] International Feature Pack 2.0 Beta ~ .NET な開発者/SE/発注者は、必ず評価すべき | トップページ | オブジェクト指向のプログラム@Wikipedia »