Platform SDK: International Features

Processing Complex Scripts with Uniscribe

The main Uniscribe functions support the complex rules found in Asian scripts, while the ScriptString functions provide simple processing for plain text, including support for caret placement, that is similar to the TextOut function.

Using Uniscribe, applications need only manage a backing store of Unicode character codes. Text layout applications do not need to maintain any other buffer or mapping table to track character order. An application only needs to store and manage the order in which the characters were entered by the user, which is the same logical order as defined by Unicode. The application's backing store never changes as a result of layout operations. Uniscribe maintains an index from the reordered clusters to the original character boundaries passed by the application: