úvod do ucw - znakové sady

Pavel Makovec pavelm@terminal.cz
Tue, 21 Apr 1998 02:05:20 +0200


------ =_NextPart_000_01BD6CCA.4EEB9EE0
Content-Type: text/plain; charset="ISO-8859-2"
Content-Transfer-Encoding: quoted-printable

martin mare=B9, http://atrey.karlin.mff.cuni.cz/~mj/linuxcs/#keymaps =
p=ED=B9e:
> Znakov=E9 sady
>=20
> Ji=BE od mali=E8ka Linux podporuje vym=ECnitelnou znakovou sadu pro =
konzoli.
> A od nepam=ECti to m=EClo n=ECjak=E9 h=E1=E8ky: hlavn=ED probl=E9m je =
v tom, ze kdy=BE
> panove od IBM (Institute of Black Magic?) vyv=EDjeli svoji VGA kartu,=20
> rozhodli se, =BEe implementuj=ED 9-pixelov=FD font, kter=FD by vypadal =
o n=ECco=20
> esteti=E8t=ECji ne=BE p=F9vodn=ED 8-pixelov=FD, co m=ECla EGA, =
nicm=E9n=EC necht=EClo se=20
> jim ukl=E1dat n=ECkam onen dev=E1t=FD bit. Vy=F8e=B9ili to tedy velice =
=B9alamounsky:=20
> do dev=E1t=E9ho pixelu d=E1vali hardwarov=EC barvu pozad=ED, ov=B9em =
aby to=20
> nerozbo=F8ilo r=E1me=E8kov=E9 znaky, u znak=F9 s k=F3dy 0xb0 a=BE 0xdf =
se pou=BEije=20
> barva pixelu p=F8edchoz=EDho.

tomu moc nerozum=EDm, ale d=E1vno p=F8ed vga vznikla 437, kter=E1 =
obsahuje
grafick=E9 znaky v=E8etn=EC r=E1me=E8k=F9 jednoduch=FDch, dvojit=FDch a =
kombinovan=FDch.
(o vt100 a dal=B9=EDch znakov=FDch sad=E1ch pro s=E1lov=E9 =
po=E8=EDta=E8e ani nemluv=EC)

> Aby se Linux mohl s t=EDmto =B9=EDlenstv=EDm vyrovnat (uznejte, =BEe =
v=ECt=B9ina=20
> k=F3dov=E1n=ED znak=F9 pou=BE=EDvan=FDch v nedosovsk=E9m sv=ECt=EC - =
jako nap=F8=EDklad=20
> ISO-8859-cokoliv - m=E1 v t=E9to z=F3n=EC norm=E1ln=ED znaky a =
p=F8=EDpadnou grafiku=20
> m=E1 zcela jinde), musely b=FDt zavedeny mapovac=ED tabulky =
konvertuj=EDc=ED=20
> k=F3dy znak=F9 na jejich pozice ve fontu (viz p=F8=EDkaz mapscrn).=20

iso-8859-2 grafick=E9 znaky nedefinuje. snahy tyto znaky p=F8idat
je nutn=EC nestandardn=ED a vede k probl=E9m=F9m z toho =
vypl=FDvaj=EDc=EDch.

> Ov=B9em Linuxov=E1 implementace VT100 podporuje hned n=ECkolik=20
> r=F9zn=FDch mapov=E1n=ED - nap=F8=EDklad VT100-grafiku, IBM-grafiku =
apod.,=20
> p=F8i=E8em=BE p=F8ed chv=EDl=ED popsan=E9 p=F8ek=F3dov=E1v=E1n=ED se =
d=ECje pouze pro jeden=20
> z t=ECchto m=F3d=F9. Tud=ED=BE aby fungovala grafika, mus=ED se =
pom=ECrn=EC=20
> nechutn=FDm zp=F9sobem modifikovat termcap, terminfo a kdo v=ED,=20
> co je=B9t=EC v=B9echno, a p=F8emapovat grafick=E9 znaky ve v=B9ech =
t=ECchto=20
> souborech. I to ovsem ob=E8as nep=F8inese k=FD=BEen=E9 ovoce (tedy ono =

> p=F8inese, ale pon=ECkud zka=BEen=E9), jeliko=BE se tak grafika =
v=ECt=B9inou=20
> p=F8emapuje do oblasti 0x80 a=BE 0x9f, ji=BE vet=B9ina program=F9 =
pova=BEuje=20
> za znaky =F8=EDd=EDc=ED, a tud=ED=BE nezobraziteln=E9.=20

americk=FD soft m=E1 r=E1me=E8ky z 437, kter=E9 nejsou v iso-8859-2. =
bu=EF
bude u.s. soft iso (bez r=E1me=E8k=F9), nebo nem=F9=BEeme b=FDt iso =
my...

> Na=B9test=ED se b=EChem v=FDvoje Linuxu 1.3.X objevilo =F8e=B9en=ED =
nov=E9 v=B9ech=20
> t=ECchto probl=E9m=F9 prost=E9: kernel za=E8al podporovat mapov=E1n=ED =
znak=F9=20
> p=F8es 16-bitov=FD k=F3d UniCode. Zkr=E1tka a dob=F8e, pro ka=BEd=FD=20
> z popisovan=FDch m=F3d=F9 konzole existuje p=F8evodn=ED tabulka do=20
> UniCode, plus je=B9t=EC jedna definovateln=E1 u=BEivatelem (tu =
ostatn=EC=20
> nakonec pro =E8e=B9tinu vyu=BEijeme) a pak je je=B9t=EC definov=E1na =
konverzn=ED=20
> tabulka z UniCode do k=F3dov=E1n=ED fontu, =E8=EDm=BE se v=B9echny =
konverze=20
> daj=ED prov=E9st jednodu=B9e a docela rychle.

ide=E1ln=ED by asi bylo nem=EDt =BE=E1dn=E9 p=F8evodn=ED tabulky a =
pou=BE=EDvat jen
unik=F3d. to je ale asi zat=EDm jen =E8ir=E1 utopie pro =
po=E8=EDta=E8ov=E9 laiky...

pavel makovec

------ =_NextPart_000_01BD6CCA.4EEB9EE0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

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

------ =_NextPart_000_01BD6CCA.4EEB9EE0--