My post on mobile Dzongkha drew quite a lot of attention. I also received requests asking for technical implementation details. Here's a short explanation on enabling Unicode Dzongkha on the Nokia N900.
The Nokia N900 is a mobile computer with phone functionality. It comes preloaded with Maemo (a distribution of Linux). Now be warned: the N900 does not compete with iPhone or most other smartphones for that matter. This is not a sleek and sexy machine. It's more of an experimental (and rather bulky) gadget oriented to geeky folks (like me!) that like to experiment with software and hardware. As such, it is not a very popular device, but it does have its following.
Enabling Dzongkha Unicode on a computer usually involves three parts:
- Dzongkha font file. This is a file that contains the various glyphs for the Dzongkha characters.
- Rendering engine. Usually part of the operating system, a rendering engine is a program that makes sure the characters are displayed correctly. While English is simple to render - just put each character to the right of the previous one - Dzongkha is much more complicated, due to vowels and stacking of letters.
- Dzongkha keyboard. This is a way to translate keystrokes into the various Dzongkha characters.
The most recent version of the N900 operating system already has a good rendering engine for Dzongkha, so the two missing parts were the font and the keyboard. Adding a font was easy. I downloaded a Dzongkha font from the DDC website (initially Jomolhari, but later replaced by Uchen), and copied it to one of the phone's font directories (~/.font). This is similar to installing a font in Windows.
The more tricky part was adding a keyboard. The N900 has two keyboards: a hardware slide-out keyboard with three rows of keys, and a "software" touch screen keyboard. I decided to focus on the touch screen keyboard, since it is easy to change the key labels when they are displayed on the screen. To add a new software keyboard, I used the ukeyboard open source utility, which uses "keyboard definition files". A keyboard definition file maps the keys to characters. In the case of Dzongkha, I used the DDC's Dzongkha keyboard layout. Here's an excerpt from the keyboard definition file, showing one of the rows:
key ཀ alpha
key ཁ alpha
key ག alpha
key ང alpha
key ི alpha
key ུ alpha
key ེ alpha
key ོ alpha
key ཅ alpha
key ཆ alpha
key ཇ alpha
key ཉ alpha
key ཝ alpha
To summarize: It's relatively simple to enable full Dzongkha functionality on the N900, mainly due to the fact that it's running Linux with all the trimmings, and the availability of a keyboard utility. Since the N900 is not a phone for the masses, this is more a proof of concept than a practical product. The DDC plans to bring Dzongkha to more popular platforms, such as iOS (Apple's operating system for the iPhone) and Android.