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