I am an experienced programmer who doesn't know much about
X/motif programming.

I have been given the "challenge" of making an existing
application work (in a limited fashion) with Arabic text; the
application is currently all in English, and the user needs to be
able to enter some text in Arabic to be rendered as a graphic.
All internal text is stored UTF-8 encoded, and the rendering part
already works, so I just need to figure out the text entry part.

I need a text entry widget which allows the user to enter text in
either Arabic or English, and allow me to store the entered data
as a UTF-8 encoded string.

The environment is RedHat Enterprise 3 Linux, with OpenMotif
2.2.3, with the locale set to ar_QA.UTF-8.

I've done some searches to try to find out about how to add
bi-directional international text input to the application, but
have had difficulty finding useful info.

If it's relevant, at the moment, the text entry widget is created
like this:

...
myMgrWidget = XtCreateWidget(
getWidgetName(),
xmFormWidgetClass,
parent,
NULL,
0);

registerWidget(myMgrWidget);

myTextWidget = XmCreateTextField(myMgrWidget, "input", NULL, 0);
XtAddCallback(
myTextWidget,
XmNvalueChangedCallback,
(XtCallbackProc) &SomeClass::textModifiedCB,
this);
...

Are there options to the widget to allow bi-directional input? (I
couldn't see anything in the man page).
Am I using the wrong widget?
Is it even possible to do what I need to do with OpenMotif 2.2.3?

Any info on where I can find relevant info on how to do what I want?
Any other suggestions?

Any and all help greatly appreciated!