Metaproblem ke konferenci samotne

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pátek Září 3 06:35:25 CEST 2004


On Tue, 31 Aug 2004, Ing. Pavel PaJaSoft Janoušek wrote:

> UNICODE je jak 16-ti bit, tak 32-bitové s tím, že se samozřejmě v "int"
> hodnotě ty znaky shodují.
> 
> 	Domnívám se (ale mohu se mýlit), že UNICODE v žádné podobě nezná
> nic jako šířku znaku proměnlivé délky (obdoba standardu, který byl i v
> MS Windows PŘED nástupem UNICODE)...

Motate dohromady dve veci:
1. coded character set, tedy zpusob, jak zadanou mnozinu znaku ocislovat
   (bez ohledu na to, jak se ta cisla zapisou),
2. encoding scheme, tedy zpusob, tak tyto kody zapsat do sekvence bajtu
   (rozumej cisel v intervalu 0..255).

Unicode definuje jednu c.c.s. a tri zakladni kodovaci schemata (ci formy
v unicodove terminologii): UTF-8, UTF-16, UTF-32 (navic existuji ruzne
nestandardizovane, treba jeste relativne casto se objevujici UTF-7).

> ono je to docela opačně než si mnozí myslí, ono to není tak, ze Bill
> zaregistroval, naopak byl to Bill, který tento problém, byť po svém,
> musel řešit dávno dříve než jsme pomalu vyrostli z plínek (ano vím, že
> MS Windows 1.0 byly na světě v roce 1985 a nebyly prakticky
> použitelné), protože třeba arabskou či "asijskou" podporu ve Windows
> má dost dlouho a tyto jazykové mutace musel taktéž nějak zakódovat.

A to chcete rict, ze Japonci nemohli pouzivat pocitac dokud jim velky Bill
nenadelil asijskou verzi Woken? To asi neni pravda, kdyz uz napr. v roce
1981 kodifikovali multibajtove kodovani JIS (variantu ISO 2022) obsahujici
zakladni sadu znaku kandzi, nasledovane inovovanou verzi v 1983. Ovsem
Microsoft z toho mel nasledne boleni hlavy, protoze to na ne bylo moc
slozite, a vymyslel vlastni variantu (Shift-JIS) majici sve specificke
problemy.

Mimochodem, videl jste nekdy zkratku EUC? Znamena to Extended Unix Code,
vymyslelo to AT&T nekdy zacatkem 80. let (byla to standardni vlastnost
System V, ktery spatril svetlo sveta v roce 1983) a je to predek UTF-8.
Text v EUC-JP je jeste obcas k videni.

> 	Takže to nebylo tak, že osvícený svět se usnesl na UNICODE,
> který MS převzal, když už nemohl jinak, on to daleko dříve udělal po
> svém, protože v podstatě jako jedinný na světě dodával krabicový
> software, který se byl schopen s těmito zvláštnostmi nějak poprat... -
> nejsem přímo zastáncem MS, ale z technického hlediska mu v tomto případě
> rozumím.

Jak se lze docist na http://www.unicode.org/history/, tak Unicode
se zrodil nekdy v letech 1986-88 na pude Xeroxu a Applu. Co se tyce
Microsoftu, tak se tam pise:

October 1989
Collins presents Unicode to Microsoft and IBM in conjunction with
cooperation between Apple and Microsoft on TrueType.

a pak

January 1990
As a result of Apple-Microsoft cooperation on True-Type, Microsoft begins
to show interest in Unicode. Michel Suignard and Asmus Freytag of
Microsoft begin attending Unicode meetings.

Na druhou stranu se do toho pak vsichni spolecne opreli, az donutili ISO,
aby zrusilo prvni navrzenou verzi 10646 a nahradilo ji Unicodem, v te dobe
jeste znacne nedokonalym -- viz nize (nekteri lidi to primo oznacuji za
sabotaz).

Jinak kdyz uz byla rec o Asii, tak tam se jim Unicode moc nelibil, protoze
puvodni verze s pouze 16-bitovymi kody (tj. repertoar max. 2^16 znaku)
nebyla schopna obsahnout vsechny pouzivane znaky. Novejsi verze uz zvlada
2^20 + 2^16 znaku a aby se to mohlo pouzivat, tak se zavedly "nahrazky"
(surrogates), de facto slozene sekvence UTF-16, coz afaik MS zvladnul
naimplementovat az v XP (IMHO dost nechutny hack, ktery zpusobuje, ze
UTF-16 sdruzuje spatne vlastnosti UTF-8 a UTF-32).

> 	Takže pánové, než začnete zase akademicky debatovat na vysoké
> úrovni, prosím srovnejte si fakta, normy apod. a pokračujte, takto jeden
> mluví o voze a druhý o koze...

Moje rec. ;)


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux