[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