Using Views with Far Eastern Languages
You should read this section if you want your system to support Far Eastern languages, such as Japanese, Korean, or Chinese. Far Eastern languages are multibyte character languages that present certain distinctive characteristics that should be taken into account when using Views.
Although the API remains unchanged, you should keep in mind that a char* value can contain multibyte characters in a Far Eastern locale.
For example, you can pass a multibyte string to:
void IlvListLabel::setText(const char* text);
and get a multibyte string as the return value of the following:
const char* IlvListLabel::getText() const;
This is true for all the gadget classes (that is, IlvText, IlvTextField and its subclasses, IlvMessageLabel, IlvStringList, and so on) and the manager view interactors, such as IlvManagerMakeStringInteractor or IlvManagerMakeTextInteractor.
To help programmers control input in text areas, the mbCheck method has been added to the IlvTextField and IlvText gadgets. The APIs are defined as follows:
For IlvText:
virtual IlBoolean mbCheck(const char* text);
For IlvTextField:
virtual const char* mbCheck(const char* text);
Note
The mbCheck method calls the check method when running in a monobyte locale. |
IlvPasswordTextField supports multibyte strings, and the mask is applied by drawable characters. This means that you can create or perform a setLabel on an IlvPasswordTextField using multibyte strings.
Internally, Views manipulates wide-char* values, but there are no documented public APIs. If you want to use wide-char* values, you must convert back and forth to char* values before calling any public API. Note that you can use the IlvWChar type, which is defined as wchar_t in the macros.h file, for your own internationalized API.