Vine Linux バグトラッキングシステム

課題の詳細を表示 コメントにジャンプ ] 課題の履歴 ] 印刷 ]
IDプロジェクトカテゴリ登録日最終更新
0000564Vine Linux1 バグ2007-11-22 01:372007-12-13 18:41
報告者anonymous 
担当者packager 
優先度再現性不明 
状態完了解決状況不明 
バージョン4.1 
修正予定バージョン修正済バージョン 
概要0000564: KonsoleのPreedit入力の挙動が異常
説明Qt & KDEのVineのデフォルトの設定はOverTheSpotですが、
(LyXを除く)ほとんどのQt & KDEのプログラムはOnTheSpotで
問題なく動きます。というより、Vine 4.1のQtではOverTheSpot
では使いものにならない場合が多いのではないでしょうか。

という事で私はOnTheSpotで使用しているのですが、唯一これで
困るのはKonsoleの入力です。

現象:(skkinput or uim-skk or uim-canna + konsole (OnTheSpot))
1) 全角Greekと全角記号の多くが1 byte文字と判定されるため、入力が
乱れる。特にskkinputやuim-skkを使用している場合、最初に必ず
変換マークが付くので、これが1byte文字と判定され
入力行が乱れて使いものにならない。

2)変換文字列の強調、反転位置がずれる。
vimなどを使うとspace keyを押して変換開始状態にすると
無関係な部分が反転したり、ひどいときには、画面全体が
反転する。

解決策:
kdelibsのkonsole/konsoleに以下の添付patchを適用すると
以上の問題点は回避され、そこそこ使えるようになる。
ただし、変換行が2行にまたがる場合はオリジナルと同様で
強調位置が正しくありません(この部分を修正すると修正量が
多くなるので)。単純かつ範囲の限定されたpatchなので是非
対応して頂きたいと思います。

備考:
これはこのレポートとは関係ありませんが。OnTheSpotに
動作変更する場合にはまると悪いので。。。

Qtの動作を変える時、qtconfigを使うと思いますが(例えば、
OnTheSpotにする)、一度保存すると~/.qt/qtrcが出来ます
(clean installの状態ではこのファイルはありません)。
そのqtrcのlibrary path entryに実体の同じdirectoryが登録
されているはずです。
       /usr/lib/qt-3.5.5 == /usr/lib/qt3.
この状態を放っておくと、プログラムの起動時にwarningが出る
ようになり、さらに環境によってはprogramが異常終了するように
なります。ですので、qtrcのlibrary pathを確認して
重複をとりのぞき、そのあと、-r--r--r--にした方が良いと
思われます(一度qtrcが出来るとlibrary pathは勝手に追加
されるようになるので)。
たぶん、ld の部分にbugがあるのでしょうが追ってはいません。
タグ設定されていません。
arch
パッケージkdebase
添付ファイルdiff file icon kdebase-3.5.8.diff [^] (5,395 バイト) 2007-11-22 01:37 [表示]
diff file icon konsole-3.5.8-1122.diff [^] (10,335 バイト) 2007-11-22 09:43 [表示]
diff file icon konsole-3.5.8-1123.diff [^] (14,504 バイト) 2007-11-23 04:13 [表示]
diff file icon konsole-3.5.8-1127.diff [^] (19,229 バイト) 2007-11-28 02:08 [表示]
diff file icon konsole-3.5.8-1130.diff [^] (26,339 バイト) 2007-11-30 17:20 [表示]
diff file icon konsole-3.5.8-final.diff [^] (26,848 バイト) 2007-12-05 15:17 [表示]
diff file icon konsole-3.5.8-final.diff [^] (26,440 バイト) 2007-12-05 15:49 [表示]

- 関連

-  コメント
(0002712)
anonymous (参照)
2007-11-22 01:53

>
> 解決策:
> kdelibsのkonsole/konsoleに以下の添付patchを適用すると

kdebaseの誤りです。
(0002713)
anonymous (参照)
2007-11-22 09:43

このバグの投稿者です。より良いパッチを添付します。
(0002714)
anonymous (参照)
2007-11-22 09:43

このバグの投稿者です。より良いパッチを添付します。
(0002715)
anonymous (参照)
2007-11-23 04:13

PatchですがAsian ambiguous charactersのうち罫線は半角にした方が
良いようです(もちろんどちらが正解という事はないのですが。本来は
選択できるべきですが、DEC graphic character setがunicodeにmapされ
ているKonsoleの構造上簡単ではないので。)
この部分を修正したpatchを添付します。ついでですが、複数行にまたがる
変換も正しく反転強調されるようにしておきました。
(0002716)
anonymous (参照)
2007-11-28 02:08

何度も投稿して申し訳ありません。

Patchですが、オリジナルの実装はあまりにad hocで
その方針を改善するより、やはり真面目に実装した方
が良いと思えて来ました。

オリジナルでは、preedit stringsをすべて端末clientに
渡しています。これは実装は楽ですが非常に問題が多いのです。
#この様な実装の例はgvimなどですが、gvimとconsoleでは話が
#大きく異ります(Konsoleのclientの挙動が仮定出来無いから)。

例えば cat として何か日本語を変換してみると、この方法では
駄目な事があからさまに判ります。

やはり、preedit stringsはcommitされるまで自前で処理するのが
結局のところ様々な問題を回避するために必要です。以下に添付
するpatchはこの部分を実装したものです。

動作確認は
vje, wnn7, uim, scim, skkinput
で確認してありますの。

既知の問題としては、
1) Preedit stringsを残したまま、tabを切り換えると
preedit stringsの挙動は保証されない
(確定してから切り替えましょう)
2) 連続確定入力(XIM_END -> XIM_START->XIM_CHANGEDが一挙に来る)で
preedit stringsの表示位置がずれる事がある。
これは、確定させると期待どおりになりますから無視しましょう。
3)Focus in/out で cursorの処理をしていない。無視してください。

もちろん、これらの問題はオリジナルにも存在しますし、オリジナル
よりは遥かに良くなっているはずです。Header filesを変更しないで
出来る変更はこの辺りで限界です。
(0002717)
anonymous (参照)
2007-11-30 17:20

レスポンスがないのに投稿を続けるのも何ですが。。
Patchを投稿した以上、最後まで責任があるので。

上記の既知の問題をfixしたpatchを添付します。
あと、オリジナルでは変換エリアがシアン系の
バックグラウンドになりますが、これは目が疲れるので
標準的な下線を引くものに変更しておきました。

Konsoleはkateやkdevelopでも使われるので結構
幸せになる人もいるのではないかと思うのですが。。
(0002718)
anonymous (参照)
2007-12-04 17:45

送っていただいたパッチを含むkdebaseパッケージをplus/4.0にputしました。
必要ならQTのデフォルトをOverTheSpot→OnTheSpotに戻したqtパッケージもputします。
(0002719)
anonymous (参照)
2007-12-05 15:17

> 送っていただいたパッチを含むkdebaseパッケージをplus/4.0にputしました。


対応ありがとうございます。ええと、もし許すならば1か所ほど変更した
次のpatchにして頂けないでしょうか? 修正内容は

unicode 0x2592を半角扱いにする。

unicode 0x2592は通常の日本語font fileで何もないところです。
konsoleはDEC graphic characterの網線squareを0x2592にmapしています
(これは明らかにkonsoleがだめだと思いますが、仕様なのでしかたありません)
この変更をしないと、alsamixerのbarやcursesのscrollbarが全角扱いになり
表示が乱れます。これはkonsoleがだめだめなのですが、現実にあわせたいと
思います。

ええと、DEC graphic charactersのうち、通常使われるものには対策を
施したのでこの種の変更はこれ以上ないと思います。ただ、半角diamondは
もともとそのようなフォントがallocate出来ないので全角diamondになります。

> 必要ならQTのデフォルトをOverTheSpot→OnTheSpotに戻したqtパッケージもputし
> ます。

これはvine projectのメンバーの方の判断によると思うのです。
たぶん、ほとんど全てのKDE appsはOnTheSpotの方が現状では幸せになります。
しかし、LyXはOnTheSpotでは入力出来ません。しかもLyXは--qt-inputstyle
optionを受け付けないのです。
ここは判断の迷うところではないでしょうか?

....

あと、ここに付け足すべきなのかわかりませんが。。
今回のpatch作成でずいぶん様々な日本語入力interfaceのeventのやりとりを
観察したのですが、Vine 付属のversionのscimはかなり問題があるのではない
でしょうか?次の4.2では新しいscimが採用されるようですが、次の点は
確認しておいた方が良いと思います。

1) scim(xim)はXIM_ENDのあと何をしなくともすぐにXIM_STARTを必ず送って来る。
 これはトラブルの元です。
2) Input focusをはずしてまたinput focusを得るとXIM_ENDなしにまたXIM_START
を送ってくることがある。これは論外です。
3) 変換中にcursor keyを動かしても文字単位の移動が出来ない。具体的には
cursorposが常に同じ値で返ってくる。これでは途中の挿入削除が出来ません。

私は日本語変換のfront endに思い入れは全くないのですが、vine付属の現状では
(市販品を除くとvje,wnn等)uimが一番真っ当なやりとりをしているように思えます。
(0002720)
anonymous (参照)
2007-12-05 15:49

すいません。前に添付したpatchは
妙なところが削れていました。
(0002721)
anonymous (参照)
2007-12-12 13:58

いただいたpatch(と別のセキュリティpatch)をあてたパッケージをplusにputしました。
(0002722)
anonymous (参照)
2007-12-13 12:31

> いただいたpatch(と別のセキュリティpatch)をあてたパッケージをplusにputし
> ました。

ありがとうございます。
これでこの報告もcloseとして下さい。

PS: もしKDEのversion up等でpatchがあたらなく
なったら一報下さい。対応致します。
(0002723)
kazutaka (開発者)
2007-12-13 18:41

対応ありがとうございました。

完了とします。

ハラダ

- 課題の履歴
変更日 ユーザー名 項目 変更内容
2007-11-22 01:37 anonymous 添付ファイル追加: kdebase-3.5.8.diff
2007-11-22 01:37 anonymous 新規課題
2007-11-22 01:53 anonymous コメント追加: 0002712
2007-11-22 09:43 anonymous コメント追加: 0002713
2007-11-22 09:43 anonymous 添付ファイル追加: konsole-3.5.8-1122.diff
2007-11-22 09:43 anonymous コメント追加: 0002714
2007-11-23 04:13 anonymous 添付ファイル追加: konsole-3.5.8-1123.diff
2007-11-23 04:13 anonymous コメント追加: 0002715
2007-11-28 02:08 anonymous 添付ファイル追加: konsole-3.5.8-1127.diff
2007-11-28 02:08 anonymous コメント追加: 0002716
2007-11-30 17:20 anonymous 添付ファイル追加: konsole-3.5.8-1130.diff
2007-11-30 17:20 anonymous コメント追加: 0002717
2007-12-04 17:45 anonymous コメント追加: 0002718
2007-12-05 15:17 anonymous 添付ファイル追加: konsole-3.5.8-final.diff
2007-12-05 15:17 anonymous コメント追加: 0002719
2007-12-05 15:49 anonymous 添付ファイル追加: konsole-3.5.8-final.diff
2007-12-05 15:49 anonymous コメント追加: 0002720
2007-12-12 13:58 anonymous コメント追加: 0002721
2007-12-13 12:31 anonymous コメント追加: 0002722
2007-12-13 18:41 kazutaka 担当者 => packager
2007-12-13 18:41 kazutaka 状態 新規 => 完了
2007-12-13 18:41 kazutaka コメント追加: 0002723


Copyright © 2000 - 2024 MantisBT Team
Copyright © 2012 - 2024 Project Vine
Powered by Mantis Bugtracker