Many coding conventions have been used to allow Lao language to be used on DOS and Windows-based computers,
but a standard code-page has never been established. As new versions of operating systems and applications
have been released, various problems have appeared, in some cases merely inconvenience, but for some
applications, use of Lao language is impractical or even impossible.
Another common difficulty is that the use of Lao conflicts with other languages, so that, for example, most
Lao fonts do not work correctly on a system for which Thai is enabled, and do not work at all on
Chinese/Japanese/Korean national versions of Windows.
A further problem is the difficulty in transferring Lao text information between applications using different
platforms (for example, Windows to Apple Macintosh), and similarly, in creating web pages with Lao content
that can be viewed by browsers on different platforms.
Fortunately, a solution to these problems is becoming available in that Unicode (ISO-10646) includes a
specification for Lao that allows Lao language to be used together with other languages without ambiguity or
conflict. Unicode is an internationally established coding standard that provides for almost all known writing
systems, and is being increasingly adopted by software developers, on all major platforms - Windows, Apple
Macintosh, and Unix (Linux).
This article discusses the current state of implementation of Lao Unicode on the Windows platform, in terms of
existing and future support at the operating system level (by Microsoft), what is provided by Lao Script for Windows, and
what can be expected of applications.
Lao Unicode - An Overview
In the Unicode specification, the Lao alphabet has been assigned to the code range 0x0E80 to 0x0EFF (hexadecimal).
No other script can use code values in this range. Punctuation and Arabic numerals (also used with Lao) have
their normal (ANSI) code values in the range 32 to 255. Within the Lao Unicode range, characters follow an
arrangement based on the Thai TIS 620-2533:1990) standard. Although not ideal for Lao in terms of character
ordering, this standard nevertheless allows a complete and accurate representation of the language as it is
The Unicode standard does not include specifications for contextual positioning of Lao diacritic characters,
and no symbol has been defined to represent the Kip currency. An invisible break character (as used by Lao Script for Windows
to enable automatic word wrap) is defined in Unicode as the (hexadecimal) code 0x200B and is named ZWSP
(zero width space), but is not yet recognized by many applications.
Fonts that use “pure” Unicode must compromise typographic quality unless additional positioning information
is provided in the font and used at the operating system level (see below). An alternative is to include
typographic enhancements of Lao (contextual variants and composite glyphs) in the Private Use Area (PUA)
range of Unicode (0xE000 to 0xF8FF), which will not conflict with other languages, but may limit compatibility
between applications and across platforms. (Even Lao typewriters used some composite characters to enhance
font appearance, and without some of those enhancements, Lao text, although readable, is not generally
considered acceptable for printed material.)
Operating System Support for Lao Language
To fully support Lao Unicode at the operating system level, the following functions must be implemented:
- Lao Unicode keyboard mapping
- Support for typographically-enhanced Lao fonts
- The ability to break lines of text automatically at word boundaries (word-wrap)
- Sorting of text according to Lao alphabetical order
- Use of Lao “locale” information (language identity, number formats, etc.)
Microsoft® are aiming to provide this level of support in the next version of Windows being developed and scheduled
for release in 2006, (Windows® 'Longhorn') , but it is likely that most applications will not be able to make
use of the operating system support.
The ability of existing operating systems to support the use of Lao Unicode is as follows:
Applications that recognize Unicode (such as Word 97 and later), can use Lao Unicode fonts, for example, to display or print Lao Unicode text in documents received from other sources. Windows 95/98/Me does not itself provide any way for allowing typographic enhancements for Lao, but they may be supported by an upcoming version of Internet Explorer, and if so, other applications that recognize OpenType fonts may also take advantage of them. The web browser Internet Explorer 5.0 (and later) does display Lao Unicode correctly, so web pages created using Lao Unicode fonts can be viewed on the Windows 95/98/Me platform.
The operating system provides no way of inputting or editing Unicode text directly. Other languages that use Unicode coding (such as Thai) make use of a code page to translate the keyboard input, but there is no code page for Lao, and Microsoft do not plan to implement one (since the applications would all have to be modified as well). Applications that can use Unicode and which can in principle be modified to translate input codes can be adapted to accept Lao Unicode (either with or without PUA enhancements). Lao Script for Windows, Version 6.0 or later provides this capability for Word 97/2000/XP when used on the Windows 95/98/Me platform.
Windows NT4.0, Windows 2000, Windows XP
Windows NT 4 (and its descendants) support Unicode at a basic level (instead of code pages), so naturally provide the capability for displaying Lao Unicode text. OpenType (enhanced) fonts are also supported, and the processing needed to correctly display typographically-enhanced Lao is also now available since the distribution of Windows XP (SP2) and Microsoft Office 2003.
Although Microsoft do not yet support Lao locale, or provide a keyboard driver for Lao Unicode, it is possible to install such a driver with Windows NT4/2000/XP (typically as an extension of Thai locale). For most applications that accept Unicode text, it is then possible to directly input and edit Lao Unicode, using appropriate Lao Unicode fonts. However, since the operating system does not support display-time word-wrap, if word-wrap is required, word breaks must be inserted either by the application or directly by the user.
Lao Script for Windows, Version 6.0
Version 6.0 of Lao Script for Windows has been developed to allow the use of Lao Unicode before it is fully supported by the
operating system and applications. This has two primary objectives:
- to avoid the problems that arise in new applications due to conflicting coding standards, and
- to allow the creation of documents now that can be exchanged freely between platforms, and will remain
compatible with future standards and applications.
To achieve these objectives, this version provides Lao Unicode fonts and keyboard mapping for all
Unicode-aware applications used with Windows NT4/2000/XP, and for Word 97 (and later) when used with
Windows 95/98/Me. Both “pure” Unicode and typographically-enhanced Lao fonts are supported, and word-wrap
is implemented (optionally) by the automatic insertion of (invisible) word-break characters during input.
Other features of Version 6.0
- A set of Lao Unicode fonts has been created and is distributed with the release, including Saysettha OT,
a professionally hinted OpenType font.
- A system-level keyboard driver for Windows NT4/2000/XP is also supplied with Lao Script for Windows 6.0.
Although this does not provide automatic word-wrap (or allow typographically-enhanced Lao Unicode without
OpenType), it does allow Lao Unicode to be input for some applications that are incompatible with the
keyboard driver (LaoKey) that is normally installed as part of Lao Script for Windows.
- Lao Add-Ins for Word, Excel, Access and PowerPoint have been added or upgraded and installation now takes
account of User Profiles, installing (or updating) the Add-In as required in different locations for each
- Sorting of Lao Unicode text is integrated into the Lao Add-In for Word, and available as a library function
for other applications.
- Thai to Lao translation has been improved and better integrated into the application.