OT:tcltk, problem se zmenou kodovani fontu

Michal Měšťan mestan na zce.cz
Pondělí Leden 21 10:55:22 CET 2002


Dobrý den

Milan Svoboda wrote:
> 
> >
> > Nebo mate druhou moznost to nekodovat, ale jenom nastavit
> > "encoding system..." a vsechny ceske texty zadat do
> > jineho skriptu, ktery pak zavolate prikazem "source
> > "nejakedefinice.tcl". Tam se to z nejakeho duvodu udela
> > samo a nemusite pouzivat "convertfrom".
> >
> 
> Tak to s tim specialnim souborem urcenym pro definice
> funguje :-) (taky samozrejme funguje encoding convertfrom),
> ale zkousel jsem napsat cesky text primo do puvodniho tcl
> skriptu s tim, ze to budu psat rovnou v utf-8. Ale
> nepovedlo se to. Muzete mi poradit kde delam chybu?
> Nebo je rozdil mezi utf-8 a unicode ?
> 
> Tohle jsem mel na zacatku skriptu:
> option add *font
> "-*-arial-Medium-r-normal-*-*-120-*-*-*-*-iso8859-2"
> encoding system "iso8859-2"
> a hodnoty -text "blabla" byly v utf-8.
> Taky jsem zkousel vsechny mozne kombinace, ale bez uspechu.

Pokud potřebujete český text v start skriptu, je třeba jej zadat
v utf-8, ale implicitně tcl čte skript v iso8859-1 (Jelikož
teprve v tomto skriptu říkáte že kódování systému je jiné, tento
skript je dočten již jako iso8859-1. Teprve následný příkaz
source je čten v požadovaném kódovnání. Zde zatím není není šance
to změnit.). 
Utf-8 je udělán tak, že počátek kódové tabulky je shodný s
ASCII7, takže bez nabodeníček to funguje. 
Uvedení kódovnání u volby fontu, u současného tcl/tk nemá na věc
vliv. Zadávaný text je očekáván v utf-8. Toho můžeme v tomhle
případě dosáhnout dvěma zbůsoby. 

Buď pomocí -text [encoding convertto ?encoding? string]

Nebo opsáním nabodeníček pomocí \123 \x23 \u125 (osmičkový či
hexa kód uikodu) viz man Tcl. V případě zájmu mohu zaslat i
prográmek v tcl, který to z iso8895-2 převede na tohle. Je to
vzato z pomůcky k funkcím msgcat z tcl (na jméno si teď ale
nenevzpomínám). Není to součátí tcl.



Michal
-- 
    ^(w)^.

mailto:Wohnivec na iol.cz 
P. S. doporucuji odpovidat sem, jinak se muze stat, ze reakce na
majlik bude nekdy az tydny...


Další informace o konferenci Linux