【はるるみなもに!】 応援中
帰ってきたのは全部平日の18時より必ず前。
ちゃんと週に二日休みを取れて、定時に帰れるのかな。羨ましぃ(ぉ
しっかし一人でやってるのかな、大変だ。どこの誰だとか言いませんが二日で60通も投げるやつはいるし(マテ ってまぁ一年間ほったらかしにしたツケのようなもんですが。
ちなみに家にはプリンタはないし、テストのために仕事場の紙を使うわけにも行かないので印刷回りとか全然投げてませんので、その辺は誰かよろしくとか。
まぁ、そもそも自分が困ってるとこしか投げてはいないのですが。
が、そんな時間はないのです。
でも、キーボードからの入力はまだ挙動不審。
同じ文字を入力しても、
受け付ける場合と受け付けない場合があります。
お時間のある方は試してみてください。
手順は、
(1)WZのフォントをArialUnicodeMSかPalatinoLinotypeにしておく
(2)コンパネ>地域と言語のオプション>言語タブ>詳細ボタンを押して、
「インストールされているサービス」を追加。
「入力言語」にギリシア語、キーボードレイアウトにギリシア語Polytonicを選ぶ
(3)左SHIFTとAltを同時押しして、キーボードレイアウトをギリシア語(EL)に切り替え
上を済ませてからWZ上で
(私は英語キーボードでの打ち方しか知らないのでそれを書くと)
=キーを押した後でAを押す
これをすると本来ならU+1F06が入力されるはずです。
前にtryに投げたプラグイン(実は手元のはもうちょっとましになっているのだが)で入力してみたらどうだろう?と思って試してみたけどだめだった。
で、調査。
とりあえずここで入力している"="ってのは、ヨーロッパ系言語等でウムラウト等を入力するためのデッドキーと言うものらしく、2ストロークキーの1ストローク目みたいなものらしい。
で、どういう風に入力されるかって調べたところ、WM_DEADCHARっていうのが通知されるそうだ。
で、ToUnicodeExはデッドキーなんかがあるとちゃんと変換されないこともあるよ。みたいなことがMSDNに書いてある…
ってことは1ストローク目でくる"="のデッドキーと2ストローク目で来る"α"とを合わせてU+1F06(実体参照のコードが解らなかった)を作るのは自前でやらなければ行けないっぽい。
が、そのためのAPIってどこよ? みつかんね〜。
とりあえず、Unicode周りがまともっぽいと思っているアプリであるMS WORDと萌ディタ、EmEditorで試してみたところ、全部入力出来ました。
あと、firefoxもちゃんと入力出来た。
が、どれも微妙に動作が違うので、やっぱり文字の合成は自分でやらないと行けないっぽい。
どうやってんだろう。まさか、自前で変換テーブルとか持ってないよな。Mozillaのソースでも久しぶりに読んで見るかな〜。
なんですか? このmnsbotの受信回数は。
cgi内のリンクを全部たどってるのか。
最初、自分とこのことだとは思わなかった。
ちなみにウィンドウを CreateWindowExW() で作っていれば WM_CHAR は UTF-16 の文字が返ってくるので、それをキー入力にしてるだけです。2 ストロークめが無効かどうか判断するのに結局 WM_DEADCHAR も見るようにしましたが。。。
ありがとうございます。そういうことでしたか。各アプリでの動作の違いは WM_DEADCHAR の扱いの違いってことだったのですね。
ってことはPocketWZ3だと入力はとりあえず出来そうだな。(笑) WM_CHAR を UTF-16 で受け取ってWZ拡張Shift_JISに変換して TXEVENT_INPUT 投げてるだろうし。
と言うわけで、WZのプラグインマクロで無理やり入力出来るようにするのはちょっと厳しいですね。内部で変換テーブル持つかな〜。
まぁ知的好奇心は満たせたので、個人的にはもう満足なんですが。どうせ自分では使わないものだし(笑) つかいちいち変換パターンを調べてらんない。
しかし、WZ本体が対応するとしても、これだと面倒ですね。Win9xをサポートする限り。
WinNT系だけまともに入力出来るようにするとしても、CreateWindowExするときにOSを判断してLoadLibraryして呼ぶか、Win9x系とモジュール分けるか、内部変換テーブル作って対処するしかないってことだし。
やっぱ9x系は見捨てる時期っってことっすかね?(マテ
11月12日のデッドキーのお話は結構間違ってます(ぉ 信じないでね(マテ
詳細は土曜日にでも。(今日はマジで眠いので)
まぁ、どっちにしろプラグインで対処出来そうにないので、T_Y_さんに本体直してもらわないといけないんですが。
とりあえず、検証用のサンプルコード書いたので、サポートのとこ通じてT_Y_さんに見てもらおうかな。とか。