Novije i potpunije stranice pogledajte na adresi: http://www.dario-ljubesic.iz.hr/

Dario razmišlja: digitalni zapis hrvatskih tekstova

Razvoj pisma u "informatičkom" obliku

Općenito

Zapravo govorimo o načinu kodiranja slova u jedinice i nule koje računalo razumije. Kako ljudima nije blizak binarni sustav (posebno su problem duže sekvence jedinica i nula), mi često prevodimo binarni u oktalni, heksadecimalni ili decimalni prikaz brojeva. Tu vidimo kako istu stvar (broj) možemo prezentirati na nekoliko načina. Velik broj običnih kalkulatora može pretvarati iz jednog brojevnog sustava u drugi (pa tako i kalkulator koji standardno dolazi s Windows-ima. Teoretski, mogli bi napraviti svoju tablicu koja bi povezivala cijeli skup karaktera (engl. character repertoire), svako slovo s nekim brojem (za taj broj koriste se engl. sinonimi: code position, code number, code value, code element, code point, code set value, code). Kad taj naš broj (koji predstavlja slovo) zapisujemo, koristimo neki od načina kodiranja (neku metodu ili algoritam; engl. character encoding). Načini kodiranja imaju svoja imena koja se registriraju, a među poznatima su ASCII, EBCDIC, ISO Latin familija kodova. U navedenim načinima kodiranja, svaki karakter kodira se kao cijeli broj u intervalu od 0-255 pa je predstavljen kao jedan oktet.

Skup karaktera (engl. character repertoire) je popis svih karaktera (odnosno njihovih naziva). On može (ali ne mora) sadržavati primjer prezentacije u vizualnom obliku. Treba primijetiti, kako neki karakteri mogu izgledati jednako, ali su logički potpuno drugačiji. Primjerice, u nekim prezentacijama slovo O i broj 0 izgledaju potpuno jednako.

Treba razlikovati sam karakter i njegov vizualni prikaz (engl. glyph image). Karakter može biti prikazan podebljan (engl. bold) i/ili ukošen (engl. italic) i još uvijek će prikazivati isti karakter, premda su oblici (glyph-ovi) drugačiji. Skup svih vizualnih prikaza jednog skupa karaktera, zajedno s kodovima tih karaktera nazivamo font. Font ne mora sadržavati prikaze svih karaktere skupa, što je često slučaj sa tzv. "Unicode fontovima". Također, font može imati iste vizualne prezentacije za različite karaktere.

Kratka povijest problema

Međunarodni standard ISO 646 definirao je skup karaktera slično ASCII-ju, s tim da je dozvolio korištenje @[\]{|} (i donekle #$^`~.) karaktera (preciznije, kodova koji predstavljaju te karaktere u originalnom ASCII-ju) za prikaz nacionalnih karaktera. Tako je, u doba stare Jugoslavije, bio aktualan YUSCII (odnosno, kasnije CROSCII) način kodiranja.

U praksi, nastaje problem kod prijenosa tekstova koji su kodirani različitim nacionalnim varijantama ASCII-ja. Ispostavlja se, kako se samo slova engleskog alfabeta, brojevi i jedan dio interpunkcija mogu smatrati sigurnima u prijenosu podataka.

Dodatne probleme kasnije uvodi tzv. "Windows character set" koji koristi neke od kodova u intervalu 128-159, koji su eksplicitno rezervirani za kontrolne namjene u ISO familiji kodova. Tako su, u Windowsima, kodirana "naša" slova Š (kod 138), š (kod 154), Ž (kod 142) i ž (kod 158). Kod pretvaranja (engl. recoding) tekstova iz Windows kodne stranice 1250 u ISO-8859-2 potrebno je remapirati te karaktere u njihove ISO ekvivalente.

Sve te verzije imaju neke zajedničke nedostatke:

Postoji nekoliko standarda (i "standarda") kojima se zapisuju naši tekstovi u digitalnom obliku. Prvenstveno mislim na problem zapisa "naših" slova:

Poseban problem čine slova koja su, naizgled, sastavljena od dva slova (zadnjih šest slova na popisu). Ta slova se, u praksi, najčešće zapisuju kao dva slova (kao što je navedeno u zagradama).

Bio je potreban cijeli niz godina i širenje računala na ne-englesko područje kako bi se pristupilo problemu zapisa karaktera koji nisu dio zapadne kulture. Stanje je, i dalje, daleko od idealnog. U petoj godini trećeg tisućljeća mnogi programi ne rade korektno s karakterima koji nisu dio engleske baštine. Ako koristite neki stariji preglednik, ili neku od verzija IE, najvjerojatnije ne vidite dio karaktera u gornjem popisu.

Drugi dio problema je poredak karaktera (engl. sort). U pravilu, programi ne znaju za našu abecedu, tako da su naša slova obično ispred ili iza cijelog engleskog alfabeta (jer će većina algoritama poredati karaktere prema njihovim kodovima). Zadnjih šest slova na popisu imaju tu sreću, da su izuzetno rijetke riječi u hrvatskom jeziku koje bi pokazale razliku u poretku, ako se slova tumače (pišu) kao dva odvojena slova ili (zajedno) kao jedno slovo. Realnost nas tjera na promjenu redoslijeda naučenog u školi.

Unicode

Vremenom, razvoj Unicode (ISO-10646) standarda, kojemu je cilj omogućiti kodiranje svih znakova koje koriste (koristile su) razne kulture, te pojeftinjenje smještajnih kapaciteta računala (prvenstveno tvrdih diskova koji se danas najviše koriste), treba riješiti sve probleme prethodnih verzija. Na Internetu, najviše se koristi varijanta UTF-8 kojom su kodirane i ove stranice.

Možemo pojednostaviti i reći kako se Unicode i ISO-10646 razlikuju po tome što Unicode daje šira objašnjenja i pokušava postići da standard radi na različitim platformama i aplikacijama. Kako je ljudima lakše baratati imenima nego brojevima, najčešće koristimo riječ Unicode.

Unicode standard danas je u verziji 4.1. Standard se i dalje razvija, dodaju se novi karakteri i skripte. Današnja verzija standarda "pokriva", praktično, sve karaktere zapadne civilizacije i ogroman dio istočnjačkih karaktera i skripti. Posljednjih godina, uglavnom se dodaju karakteri istočnoazijskih zemalja.

Unicode karakteri kodiraju se s više okteta.

Lingvistički korektan poredak karaktera ne postiže se usporedbom kodova koji predstavljaju karaktere, već pridjeljivanjem (višerazinskih) težinskih vrijednosti karakterima (ili sekvencama karaktera) te usporedbom tih težina. Standardni Unicode Collation Algorithm ima pridijeljene težine svim Unicode karakterima.

Budućnost

Sama veličina istočnoazijskih tržišta tjera proizvođače na razradu postupaka internacionalizacije (engl. internationalisation, kratica i18n) te izradu lokaliziranih (engl. localisation, kratica l10n) programa. i18n je skup postupaka koji omogućuju kasnije jednostavnije lokalizacije. Postupci i18n i l10n pokrivaju šire područje: osim prevođenja na različite jezike, potrebno je prilagoditi prikaz datuma, oznake novčanih jedinica i druge lokalne specifičnosti.

Kako svijet svakim danom sve više postaje globalno selo, bitno se smanjuju problemi u pisanoj komunikaciji prihvaćanjem zajedničkog standarda. S današnje točke gledišta, Unicode je gotovo neizbježan. Brzina prihvaćanja najviše ovisi o programskoj podršci i političkoj volji.

Može li Hrvatska prihvatiti Unicode standard i još jednom preduhitriti zapad ?

Pogledajte

Naslovna stranica