X Window System (Xlib) 国際化プログラミング
ロケール

X の国際化プログラミングでは setlocale() と XOpenDisplay() の後で XSupportsLocale() を呼び出してXlib が現在のロケールをサポートしている かどうかを確認します。サポートしている場合XSupportsLocale() は True を 返します。

続いて XSetLocaleModifiers() を呼び出して、Xlib の動作を制御するモディ ファイアの値を Xlib に設定します。これにより環境変数 XMODIFIERS に設定 されている入力メソッドに関する情報が Xlib に設定されます。

----------------------------------------------------------------------------
関数			説明
----------------------------------------------------------------------------
XSupportsLocale		X ライブラリがロケールをサポートするか調べる
XSetLocaleModifiers	ロケールの機能を一部だけ切り換える
----------------------------------------------------------------------------
コーディング例を以下に示します。
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xlocale.h>

main (int argc, char* argv [])
{
    Display* d;
        :

    if (!setlocale(LC_ALL, "")) {
	fprintf (stderr, "setlocale() error\n");
	exit (1);
    }
    if (!(d = XOpenDisplay(NULL))) {
	fprintf (stderr, "Cannot open display\n");
	exit (1);
    }
    if (XSupportsLocale() == False) {
	fprintf (stderr, "Locale not supported by X\n");
	exit (1);
    }
    if (XSetLocaleModifiers("") == NULL){
	fprintf (stderr, "Cannot set locale modifiers\n");
	exit (1);
    }
    	:
}

国際化プログラミングトップへ


Copyright (C) 2012 Kokusaika JP, Inc.
本ドキュメントを無断で転載および引用することを禁じます。