Complex Text Layout Language Support in the Solaris Operating Environment

2.1 Architecture

CTL language support in the Solaris operating environment comprises a set of extensions supporting transformations between text input and text output.

The CTL language engines enable the CDE/Motif drawing and measurement API for character shaping, such as ligatures and diacritics, the transformation of static and dynamic text widgets, and right-to-left and left-to-right text alignment and tabbing. Because text rendering is handled through the rendition layer, other widget libraries can be extended to support CTL.

The new CTL features require the Portable Layout Services (PLS) library and the appropriate language engine. CTL uses PLS as the interface to the language engines to transform text before rendering.

Note -

1. There are no changes to the Motif public APIs. A few resources have been added, but all old resources still work.

2. Existing applications can inherit CTL support by adding the resources without changing any source code.

Figure 2-1 CTL language architecture


Desktop and Motif applications, at the top of the stack, use Motif functionality to render text. Motif interfaces with the language engines using PLS. PLS needs to know the current locale only when calling the appropriate language engine.

The language engines perform character transformations for shaping and reordering text. The character stream can come from keyboard input, an application's text strings, or a file.

Note -

Because the CTL architecture easily supports new languages, Sun may develop new language engines in future.