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

[debian-users:04011] locale problem on Xaw ??



みやけ@富山大学です。

Athena Widgetのプログラミングで、
dialog widgetに 日本語入力をしようとしたのですが、
glibcな環境でも、libc5-compatな環境でも入力した
漢字が化けるのですが、原因は、やはりlocaleなんでしょうか?

解決の方法がありましたら、教えて下さい。
また、libc5-comatな X のプログラムのリソースファイルが、
環境変数 XFILESEARCHPATH を指定しないと参照しません。
あわせて、解決方法がありましたら、教えて下さい。

[問題のプログラム]
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xaw/Dialog.h>
#include <X11/Xaw/Command.h>
main(int argc,char *argv[]){
  static String fallback_res[]={
    "*international: True",
    "*InputMethod: kinput2",
    "*dialog.label: kinp",
    "*dialog.value: \000",
    "*dialog.Width: 300",
    "*dialog.Height: 300",
    "*fontSet: -*-fixed-medium-r-*--14-*-iso8859-1,-*-fixed-medium-r-*--14-*-jisx0201.1976-*,-*-fixed-medium-r-*--14-*-*-*-c-*-jisx0208.1983-0",NULL,};
  XtAppContext apc;
  Widget top,dig;
  XtSetLanguageProc(NULL,NULL,NULL);
  top= XtVaAppInitialize(&apc,"AA",NULL,0,&argc,argv,fallback_res,NULL);
  dig = XtVaCreateManagedWidget("dialog",
				dialogWidgetClass,top,NULL);
  XtRealizeWidget(top);
  XtAppMainLoop(apc);
}

[結果]
gcc -L /usr/X11R6/lib test.c -lXaw -lXmu -lXt -lXext -lX11
 => 'っ'と入力すると '辰'と表示される。
/usr/i486-linuxlibc1/bin/gcc -L /usr/lib/libc5-compat/ test.c -lXaw -lXmu -lXt -lXext -lX11
 => 全角文字が全て'@@'と表示される。

[環境]
locales_2.0.6-3
locale-ja_2.1
kinput2-canna_2.0.3-4
libc5-altdev_5.4.38-1
libc5_5.4.38-1
libc6_2.0.6-3
libc6-dev_2.0.6-3
altgcc_2.7.2.2-3
gcc_2.7.2.3-3
xlib6-altdev_3.3.1-2
xlib6_3.3.1-2
xlib6g_3.3.1-2
xlib6g-dev_3.3.1-2
xserver-vflib2-s3_3.3.1-3

 富山大学大学院博士課程後期 システム生産工学専攻 1年  
||              パターン情報処理講座                ||
||    三宅   一永  miyake@xxxxxxxxxxxxxxxxxxx       ||
  理論は単純を、構造は複雑を極め 人は最も人らしく