Writing System Implementation On-the-Fly
Intended Audience: |
Managers, Software Engineers, Systems Analysts, Font Designers |
Session Level: |
Beginner, Intermediate, Advanced |
Those needing to work with multilingual text written using complex scripts
have often encountered two significant obstacles: defining an adequate
keyboarding mechanism and providing for complex rendering. Rendering is a
particularly difficult problem made all the more germane by the fact that
Unicode compliance requires smart rendering for many scripts. Recently
developed solutions make it possible to work effectively with many of the
more complex scripts, with the best known of these implemented as part of
the operating system. Although there are a number of advantages to using
operating system solutions, a signficant disadvantage is that such
implementations cannot be modified or extended by the end user.
Many of the lesser-known languages around the world are written using
writing systems that vary to some degree from the standard orthographies of
the major languages. While keyboarding and rendering implementations may
exist for the major language, they may not be adequate to meet the needs of
minority language groups. Even a relatively small variation in the minority
writing system may render the built-in solutions extremely inconvenient at
best, or at worst, virtually unusable.
Two software packages exist that can provide a solution to this dilemma.
Keyman is a programmable system for creating keyboards, and Graphite is a
corresponding system for defining smart rendering modules. Beginning with a
general keyboard or rendering definition program for a major language, a
handful of programming statements can be added to produce corresponding
modules for a language using a variant script. This extensible approach to
complex script implementation has the potential to be a powerful factor in
bridging the "digital divide" encountered by many computer users in
developing nations.
|