[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][TOP]
Pango 0.16 での jisx0201,jisx0212 の表示について
まるやま と申します。
はじめて投稿します。
Pango 0.16 をダウンロードして RedHat 7.0 日本語 ftp 版、
及び、RedHat 7.0.90 英語 ftp 版 でコンパイルしてみました。
そして、pango の examples/viewer-qt.(cc,h) から作成される
pango-view を実行してみました。
引数なしで、example/HELLO.utf8 が表示されるのですが、
日本語の行の表示が「変」です。
http://www.pango.org/gscript.gif
にあるように、
Japanese (日本語) こんにちは、
までは表示されているのですが、このあとに、謎の文字が続いています。
半角で「コンニチワ」と表示されるのだと思うのですが、
半角で「コ(space)ャァー」と言う風にしか読めません。
いろいろ原因を探った結果、examples/pangox.aliases から選択され、
jisx0201カナの表示に使われる
-mutt-clearlyu-medium-r-normal--17-120-100-100-p-128-iso10646-1
のマッピングが「変」だという結論に達しました。
「ヲ」から「ソ」まで正しいと思うのですが、それ以降が変です。
これは変だと思うのですが、本当に変なのでしょうか。
これが本当に変なのか自分の知識では判断付かないのと、
やはり、jisx0201 フォントが選択された方が幸せだと思うので、
以下の方法で、実現させました。
1.
http://www.unicode.org/Public/MAPPINGS/EASTASIA/JIS/SHIFTJIS.TXT
も含めて、tools/make-table.sh tools/compress-table.pl
を使って、
const guint32 char_mask_map[]
const guchar char_masks[]
を作成する。
2.
modules/basic/tables-big.i
の最初の enum に
ENC_JIS_0201 = 1 << nn
charsets[] に
{ nn, "SJIS", "jisx0201.1976-0", conv_8bit },
を追加する。
(nn は一意の数字)
これで、半角カナで「コンニチワ」と表示されるようになりました。
本家のメーリングリスト
http://mail.gnome.org/archives/gtk-i18n-list/2000-December/msg00014.html
に、
jisx0201,jisx0212 の表示の話がありますが、
この中に
「jisx0201,jisx0212のテーブルを追加する」
「modules/basic/tables-big.i の char_mask_map[]など を動的に作成する」
という話があるのですが、どちらも実装されているように見えません。
この辺の方針が見えないのですが、どうなっているのでしょうか。
jisx0212 については、テーブルが存在するので、
conv_euc() を改造すれば何とかなるような気がするのですが、
テーブルの存在しないjisx0213はどうすれば良いのでしょうか。
最後に、話の内容的にどこに出せば良いのか迷ったのですが、
こちらでよろしいのでしょうか。
以上よろしくお願いします。
---------
Toshio MARUYAMA
marutosi@xxxxxxxxxxxxx