2010年6月11日金曜日

Abiwordテスト

Abiwordをコンパイルしてみた。なんの事は無い、ただインライン入力(on the spot)がもしかしたら出来るのではないか?と確かめてみたかっただけ。Webから色々な情報を集めて判断したところ、Abiwordではpreedit(未確定文字の表示)部分をInputMethod側で行う様な仕様になっている為、これがうまく出来ていないのではないかと思われる。

preeditの部分はInputMethod側、アプリソフト側どちらかで行う必要があり、大抵の場合アプリソフト側で行われているものらしい。又、現状のInputMethodで、これを行う事が出来る物は、ほとんど存在しないらしい。(唯一SCIM-Bridge?)AbiwordはInputMethodで出来ない事やれと言う仕様なので、結果うまく表示出来ない物と思われる。

UIMの開発陣はAbiwordのこんな状況に気がついているみたいだが、InputMethod側からアプリ側に通告するのも変だし、逆にInputMethod側の仕事だろうと言われかねないので静観しているのだろうか?WindowsのMS-IMEでも同じ状況だと思われるので、ここはAbiword側でやるようにすれば良いだろうと思うが、開発メンバーの中にInputMethodの状況を理解している者がいるとは思えない。でもきちんと出来るアプリソフトも存在するのだが....

とりあえず一部ソースを変更して動作確認した。試したのは少しバージョンが古い2.6.8、大した意味は無いが、新しい物は必要な物が増えてたりしてエラーが出やすいと思われた為。

abiword-2.6.8/src/sf/xap/unix/xap_UnixFramelmpl.cppの1627行目にあるFALSEをTRUEにしてコンパイルしてみた。他は何も触っていない。



テストなので動けばいいと思いconfigureは以下のとおり適当。(だったと思う。)
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-printing --enable-threads --disable-gucharmap --disable-scripting

GNOME Documentation Library よりGtkIMContextの部分を一部抜粋。 
http://library.gnome.org/devel/gtk/stable/GtkIMContext.html


結果。
一応インライン入力出来る様になった。ただし、未確定の部分がどこなのか、下線等で表示されないので判断しづらい。これはAnthyの設定で未確定部分を下線から反転にしても変わり無い。変換候補もランダムな位置に表示されるが、これは他のアプリでもある事なので我慢といった所か?。おそらくSCIM-Bridgeと同程度の入力が出来る物と思われる。入力時の画面のちらつきがSCIM-Bridgeより少ない感じがする。



今回の確認で意外とAbiword側でインライン入力が実現可能なのではないかと思えた。それにしても面倒だ。GtkIMContextはかなり曲者と思える。まず日本語の情報が少なすぎるのと、時代的な背景がよく理解出来ていないので、自分自身全然違う方向に向かっているのかも知れない。

環境Puppy4.3.1JP+SCIM-Anthy

2010年6月10日木曜日

Ubuntuサーバー変更

Lupu Puppy5.0.1でPPM(Puppy Package Manager)にあるUbuntuパッケージのダウンロード先を、日本のサーバーに変更し、確認してみた。

初期設定されているUbuntuのサーバーは海外の為か本当に遅い。我慢の限界を越えています。なんどやってもタイムアウトになってしまい、Retrying...ひどい時には8回も拒否されました。ダウンロードスピードも20KB/sぐらいの時があり、少し大きいとすごく時間がかかります。

日本にあるUbuntuの置いてあるサーバーはUbuntu日本語チームのサイトに記載されているので、ここから適当なところを選択し設定したところ、かなりスピードアップした。単純比較は出来ないが平均200KB/sは出るので最大10倍となった。

今のところバイナリのダウンロード先のみ変更し、他の部分については様子を見ている。Ubuntu用のパッケージなので、そのまま使える物とそうでない物があるので判断は自分で行う必要があります。Ubuntu日本語チームが独自に配布しているパッケージもあるので、それにもアクセス出来るのではないかと思うが、まだやってないのでわからない。

サーバーの変更は/root/.packages/DISTRO_COMPAT_REPOS で行うみたいだ。5行目を以下の様に変更した。(長いので省略してます。)

REPOS_DISTRO_COMPAT="ftp.jaist.ac.jp|http://ftp.jaist.ac.jp/pub/Linux/ubuntu|Packages-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} 以後略。

無理やりOpenOfficeをダウンロードしているところ。


ダウンロード中。


今のところ、まだまだ遊び中。