DOKK / manpages / debian 12 / libmotif-dev / XmString.3.en
XmString(3) Library Functions Manual XmString(3)

XmString — Data type for a compound string "XmString" "data types" "XmString"

#include <Xm/Xm.h>

XmString is the data type for a compound string. Compound strings consist of a sequence of components, including, but not limited to, the following:

XmSTRING_COMPONENT_SEPARATOR
XmSTRING_COMPONENT_TAB
XmSTRING_COMPONENT_LAYOUT_POP
XmSTRING_COMPONENT_DIRECTION
XmSTRING_COMPONENT_LAYOUT_PUSH
XmSTRING_COMPONENT_CHARSET
XmSTRING_COMPONENT_FONTLIST_ELEMENT_TAG
XmSTRING_COMPONENT_LOCALE
XmSTRING_COMPONENT_LOCALE_TEXT
XmSTRING_COMPONENT_TAG
XmSTRING_COMPONENT_TEXT
XmSTRING_COMPONENT_END
XmSTRING_COMPONENT_RENDITION_BEGIN
XmSTRING_COMPONENT_RENDITION_END
XmSTRING_COMPONENT_UNKNOWN
XmSTRING_COMPONENT_WIDECHAR_TEXT

and also a rendition tags table, text, and text component. When a compound string is displayed, the rendition tags and the direction are used to determine how to display the text.

Calling XtGetValues for a resource whose type is XmString yields a copy of the compound string resource value. The application is responsible for using XmStringFree to free the memory allocated for the copy.

Please see the XmStringComponentType reference page for more detail about compound string components, and for a description of the order in which the components should appear in a compound string. Refer to the XmRenderTable reference page for a description of the algorithm that associates the rendition tags used for displaying a compound string text component with a rendition in a render table.

XmParseMapping(3), XmParseMappingCreate(3), XmParseMappingFree(3), XmParseMappingGetValues(3), XmParseMappingSetValues(3), XmParseTable(3), XmParseTableFree(3), XmStringBaseline(3), XmStringByteCompare(3), XmStringByteStreamLength(3), XmStringCompare(3), XmStringComponentCreate(3), XmStringComponentType(3), XmStringConcat(3), XmStringConcatAndFree(3), XmStringCopy(3), XmStringCreate(3), XmStringCreateLocalized(3), XmStringCreateLtoR(3), XmStringCreateSimple(3), XmStringDirection(3), XmStringDirectionCreate(3), XmStringDirectionToDirection(3), XmStringDraw(3), XmStringDrawImage(3), XmStringDrawUnderline(3), XmStringEmpty(3), XmStringExtent(3), XmStringFree(3), XmStringFreeContext(3), XmStringGenerate(3), XmStringGetLtoR(3), XmStringGetNextComponent(3), XmStringGetNextSegment(3), XmStringGetNextTriple(3), XmStringHasSubstring(3), XmStringHeight(3), XmStringInitContext(3), XmStringIsVoid(3), XmStringLength(3), XmStringLineCount(3), XmStringNConcat(3), XmStringNCopy(3), XmStringParseText(3), XmStringPeekNextComponent(3), XmStringPeekNextTriple(3), XmStringPutRendition(3), XmStringSegmentCreate(3), XmStringSeparatorCreate(3), XmStringTable(3), XmStringTableParseStringArray(3), XmStringTableProposeTablist(3), XmStringTableToXmString(3), XmStringTableUnparse(3), XmStringToXmStringTable(3), XmStringUnparse(3), XmStringWidth(3), XmCvtXmStringToByteStream(3), XmCvtXmStringToCT(3), XmCvtCTToXmString(3), and XmCvtByteStreamToXmString(3).