[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:15650] Re: Debconf 国際化



久保田です。

From: Kenshi Muto <kmuto@xxxxxxxxxxxxxxx>
Subject: [debian-devel:15649] Re: Debconf 国際化
Date: Sun, 1 Jun 2003 13:11:26 +0900

> ・いずれもかなり期待どおりの動作をしているようです。すばらしい。

:-)

ところで、debian-installer などではこれが必要になったりするのでしょうか?


> ・Text + euc-jp                   Text + UTF-8
>   ----------------------------    ----------------------
>   Postgresqlを設定しています      Postgresql ・・・'        (タイトル)

こちらの環境では、これは英語のままです。「はい」「いいえ」も。
(オリジナルの debconf 1.2.37 を使っても同様です)。
なにか間違った使い方をしているのでしょうか...

「を設定しています」の部分が文字化けしてるという意味でしょうか?


>   [移動]                          ]・[                      (長いものがあったときのスクロール用)

すみませんが意味がよくわかりません。

>   はい/いいえ                    (なし)                    (gettext化されている「はい」「いいえ」の部分が消えて見えない)

こちらでは、debconf 自身の設定で質問の重要度を答えるときに、標準の
80x24 ターミナルで、選択肢が「<OK>」「<Cancel>」の間や下にまで
もぐりこんでしまうという不具合があります。これは、オリジナルの
1.2.37 を使っていてもそうなのですが、なにか行数の計算方法に問題が
あるのでしょうか... この件も、たぶんこれに関係しているのだと思います。


> ・Dialog + euc-jp                 Dialog + UTF-8
>   ----------------------------    ----------------------
>   Debianの設定                    Debian
>   [?] Postgresqlを設定しています  [?] Postgresql

これも、日本語部分が表示されないという意味でしょうか?
こちらでは、英語表記になっています。


> ・UTF-8+Textにおいて、質問が「:-! パッケージファイルがパージされた際に同時にデータもパージしま(改行)
>   か?」のように、切れてしまうことがあります。答えを日本語で表示しよう
>   とするときに限らず、数値でも起きるものがあります。あれ、「ま」と「す」
>   がなんか鬼門かな…

これは、結論から言うと readline のバグだと思います。

Debconf/Frontend/Readline.pm を読むと、sub prompt {} の中で、
$prompt が何も処理されないまま $this->readline->readline() に
渡されていて、改行処理が readline 側に任されているような印象を
受けます。postgresql の「データベースをどこに作成しますか?」
の質問に対する回答文字列が変な位置で改行されてしまっていること
からも、readline 側がプロンプト文字列の幅を正しく計算できて
いないことは明らかだと思います。

ところが、そこで日本語を入力してみたりすると、BackSpace キーの
動作は正しかったりするので、現在の文字コードがまったく分かって
いないわけでもなさそうです。

はて、と思って、bash 上で「PS1=あいうえおかきくけこ」などと
してみると、やっぱり、上記の不具合がそのまま再現されました。
bash が readline の使い方を誤っているということがなければ、
readline のバグということになります。




それから、ずーっと日本語の文字が連続し、行の最後にさしかかる
ところで (スペースなしに) 英語がくると、その英単語の途中で
改行されてしまうという現象を発見しました (ほんとうは、その
英単語の手前で改行するのがよい)。また、途中にスペースが用い
られている行の最後にさしかかるところで英語がくると、その
スペース部分で改行されてしまいます。これについて改善した
新しいバージョンを添付します。(ついでに、EUC-JP の JIS X
0201 カナや JIS X 0212 や TIS-620/ISO-8859-11 タイ語にも
対応しました。おそらく不要ですが不正な UTF-8 シーケンスを
検出して無視するようにもしました。さらに editor インター
フェースにも対応しました)。

日本語/中国語は「1文字1単語」という扱いにするようにアルゴリズムを
変更したので、動作チェックも最初からやりなおしになると思いますが、
よろしくお願いします。

---
久保田智広 Tomohiro KUBOTA <kubota@debian.org>
http://www.debian.or.jp/~kubota/

Attachment: DEBCONF-I18N-8.diff.gz
Description: Binary data