おそらくチェックすべきは 1) そもそも X で日本語のフォントがつかえているか 2) qt アプリケーションで日本語表示できるか (*) 3) potato な KDE が日本語表示に対応しているか 4) KDE のフォント設定が正しくなされているか などだと思いますが [* テストコードをつけておきました (p1.cc, Makefile) ] On Fri, 20 Apr 2001 13:02:46 +0900 新井隆康 <takayasu@xxxxxxxxxxxxxx> wrote: > あらいです。 > 念の為に確認しておきたいのですが、 > 他のウインドウマネージャでは > ちゃんと日本語が問題なく表示できるのでしょうか? > また、エラーメッセージなどはどうでしょうか。 (同じことですが) ~/.xsession-errors などに、Missing charset jisx ... というような行がありませんか? > > > 全くもって字が読めないので、手探りでなんとか日の丸を見付け、設定しまし > たが、 > > やはり状況は変化しません。 > > > libqt2のフォント設定あたり(ようやたどり着いた)を探らないと駄目かなあ ... qt は特に何もしないと思います. 例えばフォント設定が helvetica ならそれに対応 しそうな各ロケールでの適当なフォント(misc-fixed とか)をみつけて組合せて fontset つくっているだけだと思います。 KDE は KDE で Qt とは別にフォントを設定します。その potato な KDE がどうか はよくわかりませんが、昔のもの(おそらく今も)では locale も見ません。その設定は コントロールセンターでのフォント設定がすべてで、そのフォント選択メニューでもし jisx-... というのがなければそれは日本語フォント表示に対応していないのではない かと思います。 /etc/kde2/charsets というファイル(もしくは別の場所かも)に次のような行が存在 しますか? euc-jp=eucjp x-euc-jp=eucjp jisx0201.1976-0=eucjp jisx0208.1983-0=eucjp jisx0208.1990-0=eucjp jisx0208.1997-0=eucjp jisx0212.1990-0=eucjp jisx0213.2000-1=eucjp jisx0213.2000-2=eucjp shift_jis=sjis shift-jis=sjis x-sjis=sjis iso-2022-jp=jis7 > 僕は ~/.qti18nrc を設定していませんし、 > .bashrcなどにも何も設定は加えてません。 > 普通にLANGをexportしているだけです。 > もし関係あるとするならば、.kdercでしょうか。 > ここでKDE2のどこでどういうフォントを使うかを決めています。 > 私の .kderc を以下に示します。 > [General] ... .kderc はこちらにはありません。代りに ~/.kde/share/config/kdeglobals というものがあります(sid/testing、{xft, xrender} linked qt、CVS+α KDE): Name_1= Name_2= Name_3= Name_4= Number=4 [Locale] Charset=jisx0208.1983-0 Country=jp Language=ja [PanelIcons] Size=32 [Paths] Trash=/home/ss/Desktop/Trash/ --- SATO Satoru
Attachment:
Makefile
Description: Binary data
#include <qapplication.h> #include <qpushbutton.h> #include <qvbox.h> #include <iostream> #include <cstdlib> using namespace std; int main( int argc, char **argv ) { QApplication app( argc, argv ); QString s; const char *QT_XFT=getenv("QT_XFT"); setenv("QT_XFT", 0, 1); if ( argc > 1 ) s = QString::fromLocal8Bit( argv[1] ); else s = QString::fromLocal8Bit( "ˤϡ!" ); QPushButton *hello=new QPushButton(s, 0 ); hello->resize( 300, 30 ); QObject::connect( hello, SIGNAL(clicked()), &app, SLOT(quit()) ); app.setMainWidget( hello ); hello->show(); if(QT_XFT) setenv("QT_XFT", QT_XFT, 1); else unsetenv("QT_XFT"); return app.exec(); }