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

[debian-users:28046] Re: potato に日本語化 kde を入れたい



おそらくチェックすべきは

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();
}