Solaris Trusted Extensions 開発ガイド

フォントリストによるウィンドウラベルの変換

この例は、プロセス機密ラベルを取得し、フォントリストおよびピクセル幅を使用してそれを文字列に変換する方法を示します。ラベルの文字列とともに、ラベルウィジェットが作成されます。プロセス機密ラベルはウィンドウ機密ラベルと同じです。したがって、特権は必要ありません。

最後の文字列がピクセル幅に収まらない場合、文字列は切り取られて切り取りインジケータが表示されます。X ウィンドウシステムのラベル変換インタフェースは指定したピクセル数で切り取り、ラベルクリッピングインタフェースは文字数で切り取ります。


注 –

英語以外の言語で label_encodings ファイルを使用する場合、ISO 標準のコード番号 128 以上のアクセント文字では変換されないことがあります。次の例は、アジア言語の文字セットでは機能しません。


	retval = getplabel(&senslabel);

/* フォントリストを作成し、それを使用してラベルを変換する */
	italic = XLoadQueryFont(XtDisplay(topLevel),
		“-adobe-times-medium-i-*-*-14-*-*-*-*-*-iso8859-1”);
	fontlist = XmFontListCreate(italic, “italic”);
	xmstr = Xbsltos(XtDisplay(topLevel), &senslabel, width, fontlist, 
		LONG_WORDS);
/* フォントリストとラベルテキストを使用してラベルウィジェットを作成する */
	i=0;
	XtSetArg(args[i], XmNfontList, fontlist); i++;
	XtSetArg(args[i], XmNlabelString, xmstr); i++;
	label = XtCreateManagedWidget(“label”, xmLabelWidgetClass, 
		form, args, i);