Inputing Non-ascii Characters
Join the DZone community and get the full member experience.Join For Free
My mobile phone (6600) doesn't have a Thai input method. (You can buy a special software to do it) After a lot of my thought experiments, I got an easy example from my friend on this. You do a 2-level popup menu to let people choose from the character table.
from appuifw import * def thai_input(): first_list = [' '.join(thai_char[i:i+11]) for i in range(0,77,11)] y = popup_menu(first_list, u'select Thai char') if y is not None: x = popup_menu(thai_char[11*y:11*(y+1)], u'select Thai char') if x is not None: t.add(thai_char[11*y + x]) thai_char = [unichr(0x0e01+i) for i in range(77)] # 77 thai characters app.body = t = Text() app.menu = [(u'thai', thai_input), (u'clear screen', t.clear)] # wait for user to exit program import e32 lock = e32.Ao_lock() app.exit_key_handler=lock.signal lock.wait()For other language, you can change the unicode offset (0x0e01) and number of characters (77) to that of your language. One requirement for this method is that the phone must be able to display font in your language already. (I have previously install Thai font on my 6600) An alternative method to implement this will be manually drawing your text (combile character from image font file). I may do that some day.
Opinions expressed by DZone contributors are their own.