アーカイブ

2006年 2月 2日 のアーカイブ

本当はまだじっくりとバグ取りしたいのだが、2.06以前にもあったバグを修正したので、
そのバグを抱えたまま動作させるよりは2.07の方がマシっぽいので正式版ということで。
修正したのは、マウスで一番左端の文字と行番号の間の、
ちょうど線が引いてあるところあたりをクリックすると、内部でカーソル位置がおかしくなる点。
カーソル位置がおかしくなったまま文字を入力すると、テキストデータもおかしくなる。
なんでコレに気がつかなかったかというと、おかしくなるポイントをクリックすることが少ないから。
普通に左端の文字をクリックすることも、行番号をクリックすることもあるわけだが、
その間の微妙なところってのをクリックすることが、操作ミス以外で起こらなかったから。
で、今回はプロポーショナルフォント対応をやったので、その影響でバグったと思っていて、
この部分だけは徹底的に調べて直してから正式版にしようと思っていた。
たまたま、左端の文字を選択したあとコピペか何かしたらバグったので、
左端をキーボードやらマウスやらで右からも左からも選択してみて、それでもバグは出ず、
あたしがいつも、左端の文字を選択するときクリックする位置より、数ピクセル左だったのだ。
で、その部分を修正しようと追いかけていたら、2.06以前のバージョンでもバグってたと。

テキストデータに影響するってのは致命的なバグの部類なので、
そこだけでも修正したバージョンを早急に出さなきゃいけないってことで、
もうテスト版のほうがソースいっぱい見直してるし2.06より安定してるんじゃないかと思い、
コレを2.07正式版と言うことで。
今回はVectorにもファイルをあげて貰おうと思う。

あたしゃ普段からATOKを使っているのだが、今日は動作確認もかねてNatural Inputで書く。
まず、真魚にTEditorを使っていた時代の話にさかのぼる。
再変換自体が、Win98以降だったか、それともMS-Office付属のIMEだったかで初登場した頃、
Win95とかそれ以前の時代から一太郎&ATOK使ってるあたしゃその存在自体を知らなかった。
古くからパソコン使ってて、それまでの文字入力に変化があるとは思ってもいない状態だ。
もちろん素のTEditorでも再変換を受け付ける機能はついていなかった。
で、何のきっかけだったか、メモ帳とかで再変換できるって教えられて初めて知った。
今まで使ったことのなかった機能なので、その機能がついてなくても別に不満はなかったが、
メモ帳に負けるのは悔しいので、ネットで実装方法を調べたわけだ。

その答えのひとつとして、MS-Officeのバージョンいくつだかがなきゃいけないってあった。
K2EditorのFAQに、作者がそれを持ってないから実装不能とか。
それを書いたページがいつの時代のものかは知らないが、実際そんなことはなかった。
次に見つけた答えは、JmEditorのソースに含まれる再変換の方法。
真魚も最初の頃はそれで再変換を実装していた。
これは、アプリがメモリーを確保し、アプリが再変換をスタートさせる方法。
メニューとかに「再変換」があって、ショートカットキーとかで発動させる。
でもこの方法は、ATOK使ってたりすると違和感があるんだよ。
再変換キーってのがMS-IMEでもATOKでも、FEP側で割り当てされているんだから、
FEPがメモリーを確保し、FEPが再変換をスタートさせ、
アプリはFEPのやり方に応じるだけっていうつくりが正解だと思うわけだ。
標準では、スペースキーの右隣の、”変換”キーで再変換が起こる。
しかも、文のどこからどこまでを変換させるかの判断もFEPがやってくれるわけで、
文字を選択しないと再変換できないって作りはやはり疑問なわけだ。
で、やはりそのやり方はあったわけで、真魚v.1xxですでにそれは実装していた。
はずだった。
普段ATOKしか使わないので、ATOKでしか動いてないことに気がつかなかった。
TNotePadのソースに再変換してる部分は書いてあるのだが、これだとMS-IMEでは動かなかった。
標準のIMEで動いてサードパーティーのATOKで動かない、なんてことは予想できても、
逆にATOKでしか動かないなんてことは想定できなかった。
原因は見つけたので修正し、MS-IMEならびにNatural Inputで動作確認。

アプリ作るのに、やり方がわからなければまずググれば大概はサンプルが出てくる。
そのとおりやれば動くわけだが、再変換自体が英語文化圏にはないだろうから、
英語でもやり方を見つけづらいし、日本語でもちゃんと理解して書いてるページはなかなかない。
そうなると、成功するまで試行錯誤して結果を出すしかなくなる。
再変換にしろなんにしろ、真魚で成果を出した部分はTNotePadソースで公開してるわけで、
テキストエディタ作るならTEditorとあわせて落として読めば吉。

B000CIWY4K
B000CIWY4K