下列程式碼建立了 TextField widget 以及RenderTable使用單一的 Rendition。包括XmNlayoutAttrObject以及 XmNlayoutModifier兩個虛擬資源都未被指定因此將預設為NULL。這個值表示與Rendition有關聯的版面佈局物件屬於預設語言環境,若其存在的話。
如果要順利執行這個範例,語言環境必須設定成具有整個字碼集是 ISO 8859-6 且其語言環境特定版面佈局模組可以支援 IMPLICIT_BASIC 演算法。 此Rendition的 LayoutObject的ImplicitAlg值已被修改,方式是透過Rendition的XmNlayoutModifier虛擬資源。
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);