Overview This program shows a scrolled XmText, a single-line XmText and an XmTextField. The intention is to show Motif's capability of internationalized text input. For many of the languages in the world, text in that language can be directly typed on the keyboard. For others, this is not the case. A character may require several keystrokes. This is accomplished by composing or preediting text before it is passed to its destination. The control panels for fonts and colors show how these values are passed to the input method to give preediting and status areas a look consistent with the widget which currently has the focus. Composing and preediting Composing is usually used when a set of key strokes always results in the same character. For example, the character å may require three keystrokes: Compose Key, a, o. Preediting is used when the same set of key strokes can result in different characters. For example, the keystrokes may be a phonetic representation of a kanji character. However, several kanji characters may use the same phonetic representation, so the typist must be able to choose the target character from a list of possible characters. Both of these may use an input method. For composing, the input method is often very simple, and the user may not even notice that one is in use. The preedit style is usually set to XIMPreeditNone and the status style to XIMStatusNone. (See Xlib documentation for information on the meaning of these values.) When preediting is required, there are a variety of styles. Which styles are supported depends on the vendor of your X library and server. Motif supports three preediting styles and two status style in addition to the two mentioned above. To find out the current preediting style, select "Input Method" from the Help menu. This window will also show the locale the program is running in. Preediting Preediting There are two areas visible while doing preediting, the preedit area and the status area. These may be separate or joint. The preedit area displays the characters before they are committed to the text widget. The status area displays information about how the keyboard input is interpreted. The status area also displays the menu of characters matching the keyboard input when there are multiple choices. Preediting styles supported by Motif are: XIMPreeditPosition (also called over-the-spot) XIMPreeditArea (also called off-the-spot) XIMPreeditNothing (also called root) Status styles are: XIMStatusArea XIMStatusNothing For XIMPreeditNothing/XIMStatusNothing, the input method will create a window as a child of the root window. This may or may not be visible when preediting is not in progress. This is where the composed characters and/or the status information are displayed. For XIMPreeditArea/XIMStatusArea, the input method will use the window of the VendorShell. The shell is resized to allow for at least one line of text in the font used in the widget with the focus. For XIMPreeditPosition, the preedited text is displayed in a window placed on top of the widget. For text widgets, this is at the insertion position of the widget. Choosing preedit style The preferred preediting style can be set with the XmNpreeditType resource. This is a VendorShell resource, and applies to all children of this shell. (See VendorShell reference page for appropriate values) How do I start preediting? The actual keystrokes that switches into or out of preediting mode or inserts the preedited text in the widget are different for different input methods. Refer to your vendor documentation for more information on this subject.