|

It takes special capabilities to format text appropriately on mobile phone displays. Character shape, character positioning, line breaks, character substitution, text flow direction, the placement of embedded text objects and a myriad of other factors all impact text display and therefore the user experience. Here are some of the effects the WorldType® Layout Engine applies on behalf of applications and the developers who write them.
Text Wrapping and Layout Capabilities (enhanced with version 3.0) WorldType Layout Engine supports tabs, inline graphic objects, and text flow around anchored objects or images among other page layout features. A number of client interaction models are also provided in order to ease integration into embedded systems with varying architectures, while maintaining high performance. In addition to paragraph and line-based interaction models, WorldType Layout Engine 3.0 introduces a string-based layout mode. This mode allows WorldType Layout Engine to be seamlessly integrated into existing bitmap font-based systems while delivering performance advantages for composing single strings of text.
Cursor positioning (enhanced with version 3.0) Whether the cursor moves right or left to go forward depends on whether text flows left or right. Cursor movement functions have been modified to provide enhanced flexibility and put extra control in the hands of developers.
More memory efficient Thai support (new with version 3.0) Because the Thai language does not incorporate spaces, layout engines require the use of a dictionary to determine the placement of line breaks. The Thai dictionary in the latest version of WorldType Layout Engine has been reengineered for faster performance and memory efficiency.
Character substitution WorldType Layout Engine can dynamically substitute icons for commonly entered character combinations using a substitution dictionary defined by the implementer. For instance, a colon followed by a parenthesis : ) can be substituted with a smiley face.
Truncation support Text blocks exceeding the text container can be truncated with an ellipsis (…) or other symbols.
Ligatures In some writing systems, two or more adjacent letters may combine to form a glyph known as a ligature (or grapheme cluster). The ligature may appear to contain components from the original characters, or the ligature may have a completely different appearance. Examples include the conjunct consonants which are required for Indic scripts such as Bengali.
Contextual substitution In addition to ligatures, some scripts require that a letter take different forms depending on context. For example, an Arabic letter may take an initial, medial, final or isolated form depending on the characters adjacent to it.
Bidirectional text flow While most scripts are written from left to right, some scripts (such as Arabic and Hebrew) are written from right to left (though numbers are still written left to right).
Line breaking Line breaks may be explicit (such as a carriage return) or may be determined by rules regarding word boundaries and punctuation (such as a line break after a close parenthesis or before an open parenthesis) and other language-specific considerations. Thai words, for example, do not have spaces between them. WorldType Layout Engine 3.0 provides added flexibility for the handling of white spaces in relation to the line break and support for soft hyphens.
Paragraph styling attributes These include how text is aligned (left, right, or center) and whether paragraphs are indented from the left or right side.
Script Support WorldType Layout Engine 3.0 offers support for the following scripts:
Region |
Scripts |
Languages |
Europe |
Latin |
Most western European |
|
Greek |
Greek |
|
Cyrillic |
Russian |
|
Armenian |
Armenian |
|
Georgian |
Georgian |
Middle East |
Hebrew |
Hebrew |
|
Arabic (Perso-Arabic) |
Arabic, Farsi, and Urdu |
South Asia |
Thai |
Thai |
|
Devanagari |
Hindi, Marathi |
|
Bengali |
Bengali and Assamese |
|
Gurmukhi |
Punjabi |
|
Gujarati |
Gujarati |
|
Oriya |
Oriya |
|
Tamil |
Tamil |
|
Telugu |
Telugu |
|
Kannada |
Kannada |
|
Malayalam |
Malayalam |
Southeast Asia |
Thai |
Thai |
|
Latin / Hán Tu |
Vietnamese |
|
Latin |
Tagalog |
East Asia |
Han (Hànzì) |
Chinese |
|
Hiragana/Katakana/Kanji |
Japanese |
|
Hangul/Jamo/Hanja |
Korean |
Additional Scripts |
Ethiopic* |
Amharic and others |
|
Tifinagh* |
Berber languages/Tamazight |
|
N’Ko* |
Mande languages |
*New with version 3.0
|