The various components of the CTL stack manage different functions of the string, processing, and display of CTL language characters and symbols.
The language engines are responsible for all aspects of character formation and rendering in the appropriate language. The language engines support the following shaping and reordering features:
Bidirectionality
Symmetrical swapping
Numeral shaping
Contextual analysis
Positional variation
Ligation
Diacritics
Character clusters
The language engine algorithms apply language-specific rules to the input stream and return the appropriate glyphs for rendering by the X11 rendition layer.
Motif is responsible for all on screen text manipulations, including:
Cursor positioning
Highlighting
Text selection
Cut and paste
Insert/delete
Motif also manages the flow of the character input stream so that the language engine receives only CTL characters for processing.
The application manages the physical layout of text, including alignment, justification, word demarcation, and other page-formatting features. The application also manages the collation of CTL text, non-processed text, and locale-specific information. For example, when displaying currency strings, the application collates the processed number stream and the current locale's monetary format and currency symbol.