Babad Bali


Development of Character Encoding, Smart Font,

and Keyboard Driver for the Balinese Script

April 2003

Project Title

Development of Character Encoding, Smart Font, and Keyboard Driver for the Balinese Script.

Amount and Duration

US$ 3,450 / 24 months since May 2003

About the Balinese Script

Before arrival of the Dutch, the Balinese language and script had enjoyed their role as the official language and script of the kingdoms in Bali. A vast amount of literatures, mostly on palm leaves media, were produced. They are still the authoritative source of tradional knowledge such as traditional medication, to determinte proper dates for events, and even for fun things like the rule and strategies of cockfighting.

The script itself is from Indian origin, originally brought by Indian scholars to the Indonesian archipelago. It underwent modifications that had produced the modern Balinese script, as we know now. However, it still shares the same characteristics common to other Brahmic-derived scripts, like syllable-based letters and the usage of virama (tengenan) to kill inherent sounds.

In the modern world, there are a couple of Balinese TrueType fonts available. However, TrueType technology by itself is not powerful enough to model complex scripts like Balinese. A rudimentary keyboard driver is also already in wide use. This keyboard driver is not acceptable for computerization since it is only available to be used with Microsoft Word and it goes beyond the 101 keys that are commonly used for typing. Hence, there is a need to properly render complex Balinese script and to enable natural typing of the script.

Background and Justification

The Balinese script is the primary script of the three million Balinese Hindu people in any religious matters. Currently, there are very limited literatures available in the computer. Previous projects usually concentrated in the area of preserving the lontar manuscripts in form of computer images. Little efforts had been put to computerize the script as computerized texts. To popularize the Balinese scripts among future generations, there is an immediate need to properly computerize it.

Project Objectives

  1. To produce a character encoding for Balinese script. It should follow the guidelines suggested by the Unicode Consortium, and at the end will be included in the future version of Unicode standard (ISO 10646). A character encoding will enable various algorithms to be implemented: searching, sorting, word counting, automatic transliteration and others. Inclusion in the Unicode standard will enable storing the Balinese texts in databases and websites, among other benefits.
  2. To produce a smart font that can render the Balinese script from the character encoding of produced. The produced font will exercise the capability of OpenType and IBM’s ICU LayoutEngine technologies.
  3. To enable natural typing of Balinese script using standard computer keyboard.

Project Beneficiaries

Everything produced in this project will be provided to the community for free. Free distribution of computerized Balinese font and keyboard driver will accelerate publishing through electronic media and will benefit the Balinese community across the world. Inclusion of the script into the Unicode standard will enable publication of literatures using the Internet.

Results targeted by this project are:

1. Balinese character set will have been accepted and registered by the Unicode Consortium and included in the next version of Unicode standard (ISO10646)

2. Balinese smart font will have been freely available on the Internet

3. Balinese keyboard driver  will have been freely available on the Internet

4. Sample website will have been hosted at

Project Methodology

The Balinese script is computationally complex. A few most important traits are:

  • Some vowel signs are visually attached to the left of syllable, but logically (in computer memory) placed after the syllable
  • Split vowels: before and after syllable, above and after syllable, below and after syllable
  • Syllables can change form into its gantungan form if it immediately follows a dead syllable
  • Some signs have to stretch to follow the varying horizontal size of syllables

The steps to be performed are as follows:

  1. Collecting all characters that exist in modern Balinese texts to form a character repertoire
    Activities performed here:
    1. Give names to each of the character
    2. Define the order of the characters
    3. Figure out rules of combining characters. For example, one syllable can be combined with maximum of one vowel sign

  2. Submission of the character repertoire to the Unicode Consortium to be included in the future version of the standard.
    Activities performed here:
    1. Consult the Unicode experts to verify character set rules
    2. Composing a formal proposal to be submitted to the Unicode Consortium
    3. Revising the proposal according to the feedback given by the consortium

  1. Development of the smart font.
    Activities performed here:
    1. Define correct rendering rules (e.g. placement and joining rules) and determine glyphs that are required for rendering
    2. Design and draw typographically correct Balinese glyphs using outline font design software. This activity produces a TrueType font.
    3. Using OpenType layout tool, add OpenType features to the TrueType font.
    4. OpenType currently is not powerful enough to render complex Indic scripts. Therefore some C++/Java programming is needed to complement the missing features in OpenType

  1. Development of the keyboard driver
    Activities performed here:
    1. Conduct a character frequency distribution research as the basis to design the keyboard layout
    2. Develop keyboard layout mapping and obtain consensus from the user community
    3. Based on the agreed keyboard layout, develop a Balinese keyboard driver to be used in Windows platforms

Project Schedule





Creation of character repertoire



Consultation with Unicode experts



Submission to Unicode Consortium



Development of smart font



Development of keyboard driver



Development of sample website

  • At the beginning of each activity, a more detailed timeline for sub activities will be agreed among the team members.
  • A monthly progress report will be prepared by the project coordinator to update the stakeholders about the project achievements and status. The report will be posted online at

Project Resources

The following individuals have volunteered to be involved in the project. Contributions of more parties are greatly appreciated




Ida Bagus Adi Sudewa Jakarta Coordinator, Developer
Donny Harimurti Bali Coordinator in Bali, Webmaster
I Wayan Warmada Germany Font Developer
IGAN Indra Adnyana Jakarta Java Programmer, Developer
I Nyoman Hartanegara
I Nyoman Suarka
I Made Suatjana
Balinese Script Experts
Michael Everson
Rick McGowan
Deborah Anderson
Ireland, United States Unicode Experts
Ranat Thopunya and staff Bangkok Smart Font dan Keyboard Driver experts


The following expenses are forecasted




1 Unicode consulting expense US$ 2,000 (according to Mr. Everson’s e-Mail)
2 Software licenses:
-FontLab – outline font tool
-Adobe Acrobat -PDF document creation
-Keyman Developer Professional – keyboard driver development tool
(Price list attached)
US$ 550
US$ 250
US$ 150

Other expenses:
-Communication with Unicode and Balinese script experts
-Document conveyance to US/Ireland/Bali/ Jakarta

US$ 500
4 Hosting at and discussion at mailing list Space in babadbali donated by Donny Harimurti.
Mailing list as the discussion media is provided free by Yahoo!
Total US$ 3,450
  • Financial reports will be provided monthly and will be posted online at

Contribution Choices

Skill Contribution

We still need additional contribution, especially in the following areas. Please note that these are not “commercial” jobs with salary.

  1. Font Designer
    The role is to design outline font (TrueType font) using FontLab. Demo version of this software can be downloaded from
  2. Web and Graphic Designer
    The role is to create documents’ illustration and project website.
  3. Java/C++ Programmer
    The role is to develop Balinese shaping engine Aksara Bali using IBM ICU Java/C++ technology.
  4. Keyboard Driver Programmer
    The role is to develop Balinese keyboard driver.
  5. Programmer
    The role is to develop and to test various algorithms/programs:
    1. Automatic transliteration from Balinese script to Latin script
    2. Automatic transliteration from Latin script to Balinese script
    3. Text searching
    4. Sorting
    5. Text conversion from the old “character set” into the new character set
    6. Spell checker
    7. Word parsing. Because Balinese script doesn’t have space between words, a special algorithm needs to be developed

Financial Contribution

As described in one of previous sections, this project requires funding with the amount of US$3,450.

Organizations that are willing to provide financial assistance will gain the following benefits:

  1. Organization name and logo will be exposed at the closing pages of the technical documents
  2. Organization name and logo will be exposed at the front and back cover of the users manual of the delivered program
  3. Organization name and logo will be exposed at the ballyhoo of seminar/conference to be held to discuss Balinese script standardization, and other activities that promote this project

Contact Person

If you have any questions regarding this project, please do not hesitate to contact one of the following persons:

  • Donny Harimurti
    Jalan Patih Nambi 6,
    Denpasar Bali 80116
    Phone: +62 0361 424291

Or you can join the discussion at the mailing list To join, send empty e-Mail (with or without subject or message) to the e-Mail address After Yahoo!Groups send confirmation e-Mail, you can immediately join the discussion with other list members.

Denpasar, April 19th 2003

Project Coordinator


Ida Bagus Adi Sudewa

List of Attachments

The following attachments are provided along with this proposal:

  1. Price list:
    1. E-Mail from Unicode experts, about the consulting fee
    2. Web page from, contains the price of FontLab license
    3. Web page from, contains the price of Adobe Acrobat license
    4. Web page from, contains the price of Keyman Developer license
  2. Technical document about the Balinese script. It has been sent to the Unicode experts for discussion.
  3. Unicode Character Set Roadmap for Base Multilingual Plane (first 65,500 characters of Unicode). The upper block of 1B has been allocated for Balinese. If this slot remained empty for a long period of time, this block will be allocated to other unencoded scripts.