[python] Python Windows CE port
Jaroslav Vysoky
vysoky na borka.cz
Pátek Březen 14 11:30:43 CET 2008
Tak čekám, že se mi někdo ozve, kdo dělá s Pythonem pod Windows Mobile, ale
asi je to čekání na zázrak. Tak se tady alespoň pokusím shrnout, k čemu jsem
zatím došel:
1) raw_input funguje jinak než klasicky na příkazovém řádku nebo v IDLE. A
asi autoři věděli, proč tak činí...
Pokud použiju pro vstup raw_input
>>> a=""
>>> a=raw_input(a)
, tak se zobrazí okýnko s hodnotou proměnné a zadávacím polem. Obojí funguje
správně česky.
V raw_input funguje správně zadávání českých znaků jak z HW klávesnice
pomocí Fn a mezerníku (postfixově po znaku bez diakritiky), tak z klávesnice
na displeji, a stejně tak ze Symbol Padu na displeji.
2) Pokud použiju Tkinter tak, co jsem alespoň zkusil, není problém ve všech
widgetech s českým výstupem. Pokud parametry zadám pomocí unicodových
řetězců, je vše OK.
Pokud ovšem chci něco zadávat do widgetů, které to umožňují (zkusil jsem
Enter a Text), tak je to v pasti. Pomocí HW klávesnice se mi znak s
diakritikou vůbec nepodaří zadat. Klávesnice na displeji zřejmě generuje
unicodovou reprezentaci českých znaků (alespoň co jsem vyzkoušel). Takže
například použiju-li widget Enter a v něm zadám z "displejové" klávesnice
"ě" vrátí mi "Enter" normální string (ne unicodový!) obsahující dva byty 27
a 1 decimálně, tedy 256+27=283 což opravdu odpovídá u'\u011b. Pokud použiju
pro vstup "ě" Symbol Pad, tak se ovšem do řetězce dostane jenom nižší byte
unicodové reprezentace, tedy byte s hodnotou 27 decimálně. Pak se ještě do
řetěze dostává byte s hodnotou 8 v případě mazání prvního (zleva) znaku, ale
to už je jenom taková třešnička na dortu.
Tak jsem z toho velmi rozpačitý. Nevím, jakou cestou se vydat. Samozřejmě se
chystám pročíst zahraniční konference, ale přece jenom je to věc jazykově
specifická, tak by mi byla milá zkušenost nějakého domorodce. Jinak jsem v
nějaké diskusi zahlédl, že existuje ruská/ukrajinská SW klávesnice, která
funguje dobře právě v Pythonu CE, takže naši slovanští bratři mají asi
podobné problémy jako já s češtinou.
Moc by mě zajímal zdrojový kód od funkce raw_input(), ten kdyby se podařilo
přelouskat, tak by se asi ledacos vyjasnilo.
Jarda V.
-----Original Message-----
From: python-bounces na py.cz [mailto:python-bounces na py.cz]On Behalf Of
Jaroslav Vysoky
Sent: Monday, March 10, 2008 10:50 PM
To: python na py.cz
Subject: [python] Python Windows CE port
Přeji dobrý den všem účastníkům konference a předem se omlouvám, jestli se
mi zpočátku nepodaří dodržet všechna psaná či nepsaná pravidla, kterými se
stávající účastníci řídí. Stejně tak se omlouvám, jestli se budu ptát na
něco, co se zde již diskutovalo. Snažil jsem se předem hledat, ale to samo o
sobě mnoho neznamená.
Nainstaloval jsem PythonCE-2.5-20061219-setup.exe na svém novém MDA Vario
III s OS Windows Mobile v.6. Všechno funguje až na to, že si nevím rady s
češtinou. Zatím se mi to jeví, že je vstup i výstup možný pouze v ASCII, což
by pro mnou předpokládané využití nebylo přijatelné.
Najde se tu někdo, kdo by přispěl radou nebo zkušeností s touto nebo nějakou
jinou kompilací Pythonu na podobném zařízení resp. OS?
Předem děkuji a ještě jednou všechny zdravím!
Jaroslav Vysoký
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python