Intended Audience: | Software Engineers, Font Designers |
Session Level: | Intermediate |
The Unicode standard can be used with proper abstraction and refinement to truly internationalize software interfaces for text display, editing and printing.
Current software, shaping and font architecture for handling multilingual text has evolved from the ASCII and Latin centric viewpoint. Because of this, functionality that should be standardized and implemented at some layer is found present at another layer. For multilingual text, especially those involving Indic scripts, we find that simpler, and generic architecture results if we 1) have standards for text display 2) character cluster determination and 3) sub cluster formation, repositioning of subclusters and glyph generation from subclusters.
In IndiX, XServer have been modified the, so that clients can send UTF-8 encoded text in several Indian scripts.
The Unicode standard specifies some characters as combining characters for cluster identification.
In Indix, the call for getextent is routed to and handled by the text to glyph machinery in the X11 server. A toolkit GTK-11 has also been modified and many applications, like Mozilla composer, are working fine.
In IndiX the informal Unicode guidelines, helped us to engineer a generic shaping engine for Indic scripts. Characters within a subcluster are not reordered. Feature flag settings for font machinery too is avoided.
Following the spirit of Unicode standard for software interfaces helps to internationalize and localize wide range of applications, especially to Indic languages. The infrastructure components, like fonts and shaping engines too become simpler.
Localization engineers, font layout designers, software engineers.
A wide range of applications can be localized and infrastructure to support multilingual applications can be engineered on sound and simple principles.