Saturday, May 1, 2010

Properly ordering Japanese contacts on HTC android devices


It is well known among Japanese people that Gmail's contact system is totally broken for contacts in Kanji because it doesn't support furigana (the half-width katakana "reading"). I've known of a way to fix on this the ht-03a that I mentioned here, but figured I'd make a post about, as the epic thread on google's support board has  gotten even longer since the last time I checked it.

For this to work, there are two requirements that many of you aren't going to like, though.
  • You must be running android 1.5 or 1.6 if you have a Magic or G1
  • You must set your system language to Japanese
NOTE and REQUEST: anyone with an N1, chime in and let us know if the fix below results in properly ordered contacts or not.

I stumbled onto this fix when I first got the ht-03a because google maps, annoyingly, uses system language to set locale. So, searches for Japanese place names are routed through instead of, which serves up weird, inconsistent results. This happens both on a computer and an android device (which has language and locale as one setting). On a PC you can simply point your browser at the whichever domain you want to search. But, on an android device, you have to set the system language to Japanese.

So I set my system to Japan and noticed all my contacts were properly ordered in Android 1.5 (and remained so after updating to 1.6).

The reason for this is that I used my SD card to copy all my contacts from my old AU phone to the ht-03a, inadvertently importing the all important Name (phonetic) field.

The Fix

Log in to Gmail, click contacts, select a Japanese contact, and hit edit. Near the bottom of the contact's information, just above the "Notes" filed is and "Add" drop down button. Add a "Custom" field, name it Name (phonetic), type in the reading (last name first, no space) in HALF-WIDTH KATAKANA, save and sync. Now you'll find that with your contacts will be ordered properly, if and only if you set your system language to Japanese.

Why This Does Not Work With Eclair

I am only guessing here, but I think that HTC, being a company from a country that uses Kanji (Taiwan), added support for furigana in their custom firmware. This works with Cyanogen's version 4 ROM (based on HTC's 1.6 firmware). It does not work on Open Eclair or Cyanogen's experimental 2.1-based ROM on the ht-03a (thanks nanno!). This leads me to believe that the fix was provided by HTC. And until HTC gets around to releasing the 2.1 firmware for the Magic, we'll just have to keep waiting. 

From Gmail, create a new contact and add a custom field.

Call it Name (phonetic) and enter the reading in half-width (1 byte) katakana with no spaces, last name first.

When viewing the contact, you'll now see that the reading is included with the name.

You'll also see that a "reading" 読み field has been added.

And now, you'll see that regardless of wether a contact is in hiragana, katakana, or kanji, it will be properly ordered.


  1. It's a shame that these phones aren't being upgraded more quickly. The major selling point of Google's OS, and Google's own brand, in my mind at least, is the theory that they'll get updates first. That clearly hasn't happened in this case especially. The Magic seems like it will be the last to be upgraded, if it will be upgraded officially at all.

  2. Several carriers have announced an update to their 32B magics this summer, so the firmware should be coming.

    I thought the same about android, but I didn't realize one thing at first - that while the OS is easily updatable, the drivers are not necessarily so. When I think about it now, updating the OS on a PC is a simple thing since PCs have a standard set of input devices, like a keyboard and mouse. But with these phones, each have different buttons, cameras, etc...