<   2009年 10月 ( 5 )   > この月の画像一覧

Peの夢

Beerさんが見つけてくれたのは Pe の本家開発ラインですよね?
残念ながら、T.Murai さんが探しているのは、2003年頃に存在した、Peの日本向け派生版(?)のようです。その派生版だと、インライン入力をサポートしているらしく、その成果を本家の Pe に反映できないかなーということだと思います。(でも、その派生版のソースが入手できない)

…確かに、Pe の本家も探しづらいんですが。
"pe" で検索すると関係ないものばかり見つかるし。
#せっかくだから、自分用としてここにリンクを貼っておく(^^
[PR]
by hironytic | 2009-10-30 11:50 | 近況

"raw_char"の行方

久々に Haiku ビルド環境を整えて、最新ソースを SVN リポジトリからとってきました。
それでもって、ビルド。pe に日本語を入力したらエラーになることを確認してから、BottomlineWindow::HandleInputMethodEvent() に "raw_char" を試しに入れてみるようにして再ビルド。pe に日本語が入力できるようになることを確認しました。

ということで、とりあえず Haiku のバグなのか pe のバグなのかわかりませんが、Haiku と BeOS R5 の非互換ではあるように思うので、Haiku にバグ報告しておきました

11月から本業がまた忙しくなりそうな感じ。今のうちに Haiku、CoveredCalc 関係のことをできるだけやっておこうと……。
そういや、Windows 7 のことを考えていませんね。Coveredcalc は動くのかなー。
[PR]
by hironytic | 2009-10-25 14:46 | 情報

raw_char の続き

raw_char の件ですが、
よくわからないけれど、R1A1 では、IM で確定したときのメッセージに raw_char が入ってきてないようなのです。(Canna、Anthyのどちらも)
でも、KeyboardInputDevice.cpp は最近更新されていませんよね。
この raw_char を入れてるのは、キーボードから普通にキーが押されたときの部分なんでしょうか……。たしかに IM 経由でなければ raw_char が入ってきています。

私が Haiku(というか BeOS)の IM の仕組みをあまり理解していないので、ピントがずれてるのかもしれません。
このあたり、Murai さんの方が詳しそう……。私の頭の中で
BeOS で Canna といえば→ KanBe、KanBe といえば→ T.Murai さん
BeOS で Anthy といえば→ SHINTA さん
という図式ができあがってます(笑)

それはともかく、インライン変換時は別にして、インライン変換未対応アプリに対しては
src/servers/input/BottomlineWindow.cpp
の BottomlineWindow::HandleInputMethodEvent() で作った B_KEY_DOWN メッセージが
投げられているのではないかと推測します。確かにここでは raw_char を入れてません。
ここでなんでもいいから raw_char を入れてみたら、Pe に日本語が入力できるようになるのかも。

うーん、いま手元に Haiku のビルド環境がないんですよねー。
ナイトリービルドの VMware イメージがそのまま公開されるようになってからは、そっちばっかりで試していたので。


Pe は日本語化されたものがあったんですね。全く記憶にありませんでした。
というか、そのころ、私は BeOS 系から完全に離れていたかも。
逆に Pe で raw_char は存在しないときもあるように考慮するとか(PalEdit がそうなってます)、
インライン変換に対応するというのがスマートなのかもしれませんが。

…ところで Pe のバグ報告とかパッチとかってのは、Haiku に送るのは筋違いですよね。
まあ、この問題は BeOS R5 との非互換という Haiku の不具合かもしれないので、突き止められたら Haiku の trac にチケット登録したいですね。
[PR]
by hironytic | 2009-10-21 14:59 | 情報

raw_char が気になる

muraiさんへのお返事を兼ねて。

Paladin は初めて使ってみたのが 1.1 なのです。
なのでなんとも言えないのですが、Make したときのコンパイルエラーや警告をハンドリングしてリストにしてくれるのと、Run Logged で実行すると標準出力を(?)ハンドリングしてくれるウィンドウが出るのはいいなと思いました。
逆に言えば、それ以外は Pe + 手動 make でもそれほど困らないかなという感じもありますが。
でも 1.1 の新機能らしい Code Library は、よく使い方がわかっていません。

あと、"raw_char" は、IM からの確定時に、BeOS の Input Server は追加してくれるけど、Haiku の Input Server は追加してくれてないのではないかなというのが私の推測です。
と、これだけではナンなので、簡単なテストプログラムで試してみました。
BeOS R5 だと、IM からの確定時、カレントメッセージに "raw_char" として 0x0a をセットしたものが飛んできています。(0x0a って LF ですよね。別に Enter で確定しなくても常に 0x0a なんですよ……。なんでまた?)
Haiku (R1A1) だと、やはりカレントメッセージに "raw_char" がセットされていないみたいです。
murai さんとこで、Input Server が追加しているみたいというのは Haiku の話でしょうか?
最近のナイトリービルドでは追加されている…とか?

あと、手元の BeOS R5 環境で確認してみましたが、Pe 2.4.1 (x86) Open Source Version ではインライン入力はできませんでした。
もう少し前の Pe (ver 2.3) も試してみようかと思ったんですが面倒だったのでやめました(^^;
前は Pe より BeIDE が使いやすいと感じていたんですよね。なのであまり Pe 使った記憶がなくてインライン入力できたかどうか覚えてないです。
[PR]
by hironytic | 2009-10-20 00:12 | 情報

Paladin とか

前からあるのは知っていたけど試してみたことはなかった Paladin (Haiku 上の IDE) ですが、村井さんのところで日本語入力可というのを見て試してみようと思いました。
というのも、Haiku R1A1 の Pe で日本語が入力できないのに少々不満があるので。
ちなみに CoveredCalc ではそれほど日本語を入力しないので、どうでもいいちゃあいいんですが。

使ってみた印象としては「いいっ!」ですね。
BeIDE を目指していると言うだけあって、よくも悪くも BeIDE 風です。
#ソースファイルのグループくらいは多階層にできてもいいじゃないか……。
もう Pe 使うのに慣れているので、エディタが Pe ベースというのも使いやすいです。

CoveredCalc はソースファイルが多いので、Paladin 用のプロジェクトファイルを作るのは面倒。
Pe + make から乗り換えるかどうかはわかりません。

それはそうと、Paladin のエディタ部分 PalEdit は Pe をベースにしているのに日本語入力ができます。(こちらで村井さんが文字化けすると書かれてますが、少なくとも Haiku R1A1 と BeBits にある Paladin 1.1.0 の組み合わせでは文字化けせずに入力できました)
それをヒントに Pe と PalEdit のソースコードを比べたところ、Pe でエラーが出てしまうのは PText::KeyDown() の中の次の部分が原因のよう。
FailOSErr(Looper()->CurrentMessage()->FindInt32("raw_char", &ch));

PalEdit だと FailOSErr が外されています。
Pe が出すエラーメッセージから考えても、Haiku だと IM(IME) から入力されたときに、メッセージに "raw_char" が含まれてないんでしょうね。
そもそも IM(IME) からの入力の場合、いったい何が "raw_char" になるんだという疑問はあります。

でも BeOS R5 がこのコードで動いていたなら、R5 では何かが入っているんだと思うのでそれを突き止めればいいのかな。
Haiku の問題なのか Pe の問題なのか、それとも両方の問題なのかよくわかりませんが。
[PR]
by hironytic | 2009-10-08 14:31 | 情報