Standards for Complex Scripts

We are living in the Information-Age. All of us are looking for correct information. We have been told that the computers are amplifiers of information. Text (written words) is the main type of information.

Computers store alphabets, signs and symbols using codes. In past, different types of computers used different code-tables for Roman alphabets. Even different programs on same computers were storing text using their own private code-tables! In such situation, when we use a different program to read and display text stored previously by some other program, we get garbage.

Usefulness of our text increases only if different types of computer systems and programs can handle (read) it. We can ensure it by adhering to some universally accepted encoding standard for text.

In nineties, computer scientists, vendors and savvy users felt an urgent need to have an universal encoding scheme for all the written languages of the world. This was addressed first by ISO and then by a non-profit organisation named Unicode.

At present, it seems that Unicode is going to remain de-facto standard for decades! So it is very important that operating systems and programs (like word processor) should be able to handle Unicode text properly.

Before Unicode, Indians were keeping Indic Akshars in place of Latin letters as there was no support for Indic scripts at operating system's level.

Text Processing means entering, storing and rendering text. 'Storing' and 'transferring' international text is easy (if Unicode is followed). So, most of the operating systems can store text of any script.

Rendering (displaying) Roman (Latin) text is also simple, because --
a) there is one and only one letter-form (glyph) for every letter (character);
b) letters (or glyphs) are placed linearly (sequentially).

So all the operating systems can render Roman text.

Indic and Arabic scripts requires complex text layout operations, like --
a) More than one letter (character) may join to produce one letter-form (substitution),
b) a letter-form may require positioning relative to other (base) letter-form, (positioning)
c) glyphs may need rearranging them.
d) A letter can have different forms depending upon surrounding letters. (mainly in Arabic)

Only fonts are not sufficient for rendering (displaying) 'complex scripts' (Indic and Arabic), the operating system must provide/have corresponding software components. Most of the operating systems do not have software to render (display) all the complex scripts.

As Indic scripts are complex; to correctly display (render/draw) these Indic scripts (like DevaNagari), fonts and related software capable of producing 'rich typography' are required. Rich typography allows substitution and positioning of glyphs. Rich typography is required for properly rendering complex scripts.

A font-format is a specification (description) or a kind of standard, to bring order to how fonts should be designed/created. Basic TrueType font-format support simple typography required to render Roman text. This TrueType font-format is extended by some computer vendors/organisations to support 'rich typography'. OpenType, AAT and Graphite are some popular extensions of TrueType.

In order to conform to Unicode and support complex scripts like DevaNagari operating systems should have various software components like --
a) Text rendering library/services e.g. OLTS, ATSUI
b) Complex-script shaping engine e.g. Uniscribe, MLTE

Additional type software are required for each language, like
- Keyboard overlays or Input Method Editors
- compatible fonts, e.g. OpenType/AAT fonts

In Windows 2000, XP and Vista these software components are present and standards are followed. Similar components also exists for Mac OS-X and are being developed for Linux (e.g. FreeType).

Though these components are available in these operating systems, but we need to enable the language we want to use. Only when a language is enabled and selected; an OS interprets characters coming through keyboard as those belonging to the script associated with that language. Also some components (mainly better fonts) from other vendors should be installed to properly typeset and render typographically correct text in Indian scripts.

Software for Complex Scripts

We generally use word-processors to enter, store and organise text. Lot of the word-processors depend on the operating system's services to render text. But there are few powerful word-processors which can perform complex text processing (on their own) even if the operating system do not provide such facilities. Then there are lot of dumb word-processors which do not provide complex text processing even if the underlying operating system has required software components to render complex text.

In addition to a standard based operating system and modern OT/AAT fonts, a standard based word processor like OpenOffice should be used.

ISE - Aditi Info. provides high quality OpenType fonts (like 'Akhil HE') and efficient keyboard filters/layouts (like iNagari).


 

SoftFonts logo