[Momonga-devel.ja:02468] KDEのデフォルトフォントの修正


nosanosaです。

KDEで、最初にログインする際のデフォルトフォントがおかしくて、例えば
「ネットワーク」が「ネ豈トワ豈ク」になってしまう問題がありましたが、
Qt-3.2.3-4m, kdebase-3.1.5-3mで修正しました。

以下、原因と修正内容です。

KDE(Qt)ではフォント設定がされていない状態だと、Helvetica か Courierと
いうフォントを要求する(ということをshigeさんが調べてくださりました)の
ですが、これは和文フォントを含んでいないため、和文のフォントについては
fontcofigが(?)適当なフォントを選ぶようになっている(?)ようです。

ところが、Qt+KDEの場合、なぜか和文フォントとしてKoreanなBaekmuk Batang
が選ばれてしまい、Baekmuk Batangに含まれない「ー」「対」「読」などとい
う文字が「豈」として表示されてしまっていました。

結局、なぜBaekmuk Batangなどが選ばれてしまうかはよくわからないので、解
決策としてQtのフォント置換機能を用いてHelvetica, Courierに対し Kochi
Gothic で置換するように、Qtのデフォルト設定ファイルの
 /usr/lib/qt3/etc/settings/qtrc に設定を書き加えたところ、文字化けは起
こらなくなりました。

しかし、これだと日本語ロケールはよいのですが韓国語や中国語のlocaleのと
きに選ばれるべきでないKochi Gothicが優先して選ばれることになり、これら
のlocaleのデフォルトのフォントが悪いという問題になってしまいます。

それで調べてみると、(/etc/fonts/fonts.confの中で定義されている)エイリ
アスの Sans, Serif, Monospace を Qt+KDEで選択できるようにするパッチが
Fedora Coreに含まれていたので、これをQtにあてて、デフォルトフォントを 
/etc/kderc, /usr/share/config/{kdesktoprc,konquerorrc} で Sans に指定
しました。これによってlocaleに対して適切なフォントが選ばれるようになり
ます。日本語ではKochi Gothicになります。(これはGTK+GNOME,XFce4と同様です。)

また一部のアプリケーション(khelpcenter,knewsticker,lskat,etc..)では、
この設定を無視してHelvetica, Courierを使おうと要求するものもあるらしく、
そのためにHelvetica, Courierに対するQtのフォント置換機能は必要なので
それもqtrcに加えておきました。またLuxi SansやNimbus Sans Lなどの代表的
なフォントにもフォント置換設定をしておきました。

その場合のフォントの置換の優先順位は日本語、中国語簡体字、中国語繁体字、
韓国語の順(Kochi Gothic -> AR PL Kaitim GB -> AR PL Kaitim Big5 -> Baekmuk
Dotum)となってますので、中国語とかで使われる方は qtconfig を起動して
FontsのFont Substitutionで置換の優先順位を変えて下さい。

では。