国际语言环境指南

编辑绘制

下面的代码用单个 Rendition 创建 TextField 小部件和 RenderTableXmNlayoutAttrObject XmNlayoutModifier 伪资源均未指定,因此缺省为 NULL。 该值意味着与 Rendition 关联的布局对象属于缺省语言环境(如果有的话)。

要使此示例正常工作,该语言环境必须设置为其代码集是 ISO 8859-6 并且特定于该语言环境的布局模块可支持 IMPLICIT_BASIC 算法的语言环境。Rendition LayoutObjectImplicitAlg 值已通过 RenditionXmNlayoutModifier 伪资源进行了修改。

int n;
Arg args[10];
Widget w;
	XmRendition rendition;
XmStringTag renditionTag;
XmRenderTable renderTable;
w = XmCreateTextField(parent, "text field", args, 0);
n = 0;
	XtSetArg(args[n], XmNfontName, "-*-*-medium-r-normal-*-24-*-*-*-*-*-*-*");
     n++;
	XtSetArg(args[n], XmNfontType, XmFONT_IS_XOC); n++;
renditionTag = (XmStringTag) "ArabicShaped";
rendition = XmRenditionCreate(w, renditionTag, args, n);
renderTable = 
    XmRenderTableAddRenditions(NULL, &rendition, 1, XmREPLACE_MERGE);
XtVaSetValues(w, XmNrenderTable, renderTable, NULL);
	....
n = 0;
XtSetArg(args[n], XmNlayoutModifier, "@ls implicitalg=basic");
     n++;
XmRenditionUpdate(rendition, args, n);