(R.Vukina, cca. 1992/93)

Hrvatski znakovi i standardi

Standardi su osnova tehnoloke civilizacije. Bez standardizacije ne bi bilo mogue telefonom razgovarati s Japanom, morali bi baciti automobil kojem je ispao neki vaniji vijak, morali bismo ii postolaru pet puta na probu ... . Osobna raunala su postala vrlo popularna upravo zbog injenice da se programi s jednog mogu bez ikakvih problema koristiti na bilo kojem PC-u. To je mogue zbog toga to rade na isti nain, po de-facto standardu koji znai da se koristi MS-DOS operacijski sustav, da se koriste Intelovi procesori, da se koriste diskete i diskovi koji rade na isti nain.

Na alost, u Hrvatskoj smo na najboljem putu da upadnemo u najvei mogui kaos zbog nepotivanja jednog od osnovnih standarda u informatici - standarda za nae posebne znakove.

Posljedica toga je nemogunost prijenosa podataka s jednog kompjutera na drugi. Na jednom kompjuteru ete napisati iko Meneti, a na drugom e ispasti: neto-I-neto-KO MEN-neto-ETI-neto, ovisno o razliitim primijenjenim kodovima.

Do pred godinu-dvije, situacija je bila u potpunom redu, koristio se je stari 7-bitni kod po JUS-u, kod kojega dodue niste mogli koristiti uglate i vitiaste zagrade, uvenog 'viseeg majmuna' (t.zv. 'komercijalno a' - malo slovo a s repom oko njega ) i jo neke znakove, no bili ste sigurni da e na svim kompjuterima i tampaima biti odtampano ono to ste napisali.

Zatim su se ljudi sjetili da veina kompjutera radi s bajtovima od 8 bita, koji dozvoljavaju dovoljno kombinacija da se moe istovremeno imati i uglata zagrada i slovo . U Americi su te dodatne znakove poeli koristiti za razne posebne znakove, poput onoga za Copyright (sitno slovo C u krugu), razne crte za crtanje okvira i sl.

U Europi se je pokazala potreba za uvoenje meunarodnog standarda, kako bi se ista kodna tabela mogla koristiti u raznim zemljama i tako omoguilo slanje dokumenata elektronikom potom, bez problema s razliitim posebnim nacionalnim znakovima. Donesen je ISO (International Standards Organisation) standard pod oznakom 8859-1, koji je pokrio sve posebne znakove koji se koriste u zapadnoj Europi.

Zatim se je netko sjetio da osim Engleza i zapadnih europljana postoje i slavenski narodi, pa je ISO 1987 godine donesao standard pod brojem 8859-2, u kojem je definirano koji slavenski znakovi odgovaraju kojim kodovima. Standard pokriva potrebe svih slavenskih naroda koji piu latinicom, ali i nekih drugih, n.pr. Albanaca. Ve idue godine, 1987, tada jo jugoslavenski Zavod za standardizaciju nostrificira ISO standard i objavljuje ga pod brojem JUS I.BI.013, kao standard s primjenom, s time da stupa na snagu od 29.03.1988. Donoenjem tog standarda nije ukinut stariji 7-bitni standard iz 1982 godine, JUS I.BI.002, koji je bio standard s obaveznom primjenom. (Obavezna primjena je znaila da svi koji rade sa 7-bitnim kodom moraju potivati taj standard. 'S primjenom' znai da se 8-bitni standard smije koristiti za 8-bitne kodove).

Za praktinu primjenu standarda treba proi dosta vremena, a openita situacija je ve 1988 bila takva da je malo kome bilo stalo do standarda za 'Jugo-znake na raunarima'. Posljedica je bila ta da su svi, pa ak i korisnici PC-ova koristili 7-bitni kod.

U meuvremenu, amerika tvrtka Microsoft je izdala novu verziju svog operacijskog sustava DOS, verziju 5.0, u kojoj se po prvi puta pojavila nova zemlja. Kod postavljanja operacijskog sustava, mogli ste napisati COUNTRY=YU i ubrzo zatim ste dobili na zaslonu tekstove sa svim Ȏ-ovima koje ste mogli poeljeti. Kad sam to vidio, moja prva reakcija je bila: Konano! Druga reakcija je bila: Krasno, country = Yu, a Juge vie nema. Trea reakcija je bila: Pa to onda, bar smo rijeili jedan veliki problem. etvrta reakcija je dola dosta kasnije, kada sam ustanovio da t.zv. Latin II kodni sustav koji nam je ponudio Microsoft ne odgovara ni standardima meunarodnih tijela, (ISO), niti standardima pokojne Juge (JUS). ini mi se da znam tko ih je naveo na taj put, ali ne elim spominjati nikoga velikog i plavog ili malog i zelenog, bez vrstih dokaza.

Nevolja je nastupila kada su prvo hackeri, a zatim i novopeeni trgovci informatike opreme otkrili Microsoftovog trojanskog konja i proglasili da oprema koju oni prodaju radi s hrvatskim znakovima. Pri tome, recimo, nisu ni bili svjesni da postoje tamo neki standardi. (Izrada hrvatskih znakova po standardu kota od nekoliko stotina do nekoliko tisua njemakih maraka i moe potrajati i nekoliko mjeseci, ovisno o sloenosti i pripremljenosti hardware ili software proizvoda za koritenje meunarodnih kodnih stranica.) U tome su im pomogle i preteno amerike software kue, koje su uoile veliko potencijalno trite u tamo nekim zemljama i koje se nisu ni sjetile da bi mogle postojati neke meunarodne organizacije koje se brinu za standarde. Posljedice e ionako snositi kupci osobnih raunala, naroito oni pojedinani (u velikim radnim organizacijama obino postoje informatiari profesionalci koji su svjesni i problema i posljedica).

Europski proizvoai hardware-a i software-a su itekako svjesni potrebe meunarodnih standarda, pa sve svoje proizvode za meunarodno trite rade prema meunarodno priznatim standardima, koje e morati poeti potivati i ameriki proizvoai koji se nee htjeti odrei trita kao to je ujedinjena zapadna Europa. Proizvod prilagoen za zapadno europsko trite je praktiki prilagoen i za istono europsko, pardon slavensko-latinino trite - razlike su samo u obliku znakova koji se vide na zaslonu i papiru, a to je najmanji dio posla.

Sa zakonske strane, situacija je ista: Vlada Republike Hrvatske je donijela zakon kojim se nostrificiraju svi standardi pokojne Jugoslavije, doneseni prije proglaenja samostalnosti (Narodne Novine, br 53 od 1991), to znai da JUS I.BI.013 i danas vai.

Za standarde u Republici Hrvatskoj se brine Dravni zavod za normizaciju i mjeriteljstvo u Zagrebu, no komisiju za norme (standarde) u informatici tek treba osnovati. Dosadanja praksa je bila strogo pridravanje ISO normi, to treba oekivati i u budunosti.

U meuvremenu, pazite to radite.

Da ne bi ostali samo na prii, u prilogu je i usporedna tablica s raznim kodovima za Ȏ-ove na koje se danas moe naii. Osim ISO, JUS i inkriminiranog Latin II koda, za ilustraciju konfuznog stanja, naveden je i sluajno odabran (naao se pri ruci) primjer koda koji je ugraen u jedan inae vrlo dobar matrini pisa (da budemo do kraja fair, uz taj pisa dolazi i t.zv. Serbo-Croat I kod, koji je potpuno u skladu s 7-bitnim JUS-om).

 

Tablica - usporedba raznih kodova za hrvatske znakove

Izvor:

JUS

ISO

JUS

Microsoft

OKI

Oznaka:

I.B1.002

8859-2

I.B1.013

Latin II

Serbo - Croatic II

Godina:

1982

1987

1988

 

 

Bitova:

7-bitni

8-bitni

8-bitni

8-bitni

8-bitni

Potuje

ISO: 646/1973

 

ISO: 8859-2/87

Ne

Ne

Hrvatski znak

 

dec.

hex.

dec.

hex.

dec.

hex.

dec.

hex.

dec.

hex.

94

5E

200

C8

200

C8

172

AC

132

83

93

5D

198

C6

198

C6

143

8F

141

8C

D

92

5C

208

D0

208

D0

209

D1

147

93

91

5B

169

A9

169

A9

230

E6

151

96

64

40

174

AE

174

AE

166

A6

138

89

126

7E

232

E8

232

E8

159

9F

160

A0

125

7D

230

E6

230

E6

134

86

161

A1

124

7C

240

F0

240

F0

208

D0

162

A2

123

7B

185

B9

185

B9

231

E7

163

A3

96

60

190

BE

190

BE

167

A7

140

8B

 

 

Dodatak za ne-hackere: Hexadecimalni, decimalni, binarni kodovi

U kompjuteru se svi znakovi uvaju kao kombinacije nula i jedinica -to je t.zv. binarni oblik. Hexadecimalni, ili krae Hex kod je neka vrsta 'stenografije' za prikazivanje binarnog koda - umjesto niza od 8 nulica/jedinica, pie se kombinacija od 2 znaka - brojke od 0 do 9 i slova A do F. Uporni i vjeti mogu relativno brzo pretvoriti hex kod u binarni i obratno.

Decimalni kod je drugi nain oznaavanja znakova. Sustav je krenuo od tabele znakova koju je sastavio ameriki nacionalni institut za standarde - ANSI (American National Standards Institute). Prvi znak u toj tabeli (razmak, space, prazno mjesto) je dobio broj 0, drugi 1 i.t.d. Veliko slovo A u toj tabeli n.pr. ima broj 64, B 65 i.t.d. Redoslijed u tabeli je manje-vie: razni kontrolni znakovi za upravljanje kompjuterima (n.pr. za prijelaz u novi red), zatim znakovi interpunkcije, pa brojevi, pa velika slova, pa mala slova. Time je iskoriteno prvih 128 znakova u tabeli, odn. t.zv. donji dio tabele.

Ako se za opis jednog znaka koristi 7 bitova (7-bitni kod), moe se koristiti 128 raznih znakova, t.j. to je maksimalni broj kombinacija koji se moe postii sa 7 bitova. Dakle, uz 7-bitni kod, moe se koristiti samo donji dio tabele ANSI znakova.

Ako se za opis jednog znaka koristi 8 bitova (8-bitni kod), moe se dobiti ukupno 256 razliitih znakova. Znakovi od 128 na vie, zovu se gornji dio tabele.

Donji dio tabele je za sve zemlje isti, s izuzetkom za 10 pozicija u koje su smjeteni znakovi poput uglatih i vitiastih zagrada i.t.d., a na koje pojedine zemlje smiju staviti svoje posebne znakove. To je iskoriteno za naih 5 velikih i 5 malih slova u JUS standardu za 7-bitni kod.

U gornji dio tabele (t.j. znakove 128-255) se stavljaju razne stvari. ANSI je propisao da tamo idu znaci poput znaka za Copyright i.t.d. t.zv. IBM PC Extended Character Set na ta mjesta mee razne elemente od kojih se mogu sloiti okviri za razne maske i si. Postoje i setovi s raznim autiima, zvjezdicama, prstima koji pokazuju i si. ISO taj dio tabele koristi za nacionalne znakove po dva standarda -8859-1 za zapadno europske, a 8859-2 za slavenske/istono europske nacionalne znakove.

Te razliite varijante gornjeg dijela tabele se zovu codepages, t.j. kodne stranice. Veina dananjeg kompjuterskog software-a je organizirana tako da se u gornji dio tabele moe uitavati kodna stranica po volji, pa ak i u radu mijenjati kodne stranice. Pri tome vai pravilo da se uitava kompletna kodna stranica, t.j. nije dozvoljeno uzeti par simbola iz jedne i nekoliko iz druge kodne stranice.

Kako se na PC-u dobivaju znakovi

Znak se dobiva tako da se pritiskom na tipku na tastaturi dobije jedan od heksadecimalnih kodova (ifri) iz tabele tipka/kod.

Taj kod se zatim alje na zaslon monitora, koji onda prikae oblik znaka koji odgovara tom kodu. Na diskove se spremaju samo kodovi, koji se u odgovarajui oblik pretvaraju tek kada idu na zaslon ili pisa.

Program koji odreuje koji kod e se dobiti pritiskom na koju tipku (ili kombinaciju tipki - velika i mala slova, 'ALT' + slovo i.t.d.) zove se KEYBOARD DRIVER (keyboard=tipkovnica).

Program koji odreuje oblik znaka koji e se pojaviti na ekranu zove se SCREEN DRIVER (screen = ekran). Screen driveri sadre u sebi vie tabela s oblicima znakova, jer razne zemlje koriste razne setove znakova. Grupa znakova za pojedinu zemlju (ili grupu zemalja sa slinim znakovima) se sprema u t.zv. CODEPAGE (kodna stranica). N.pr. codepage 437 je ameriko-engleski skup znakova, 850 je za skandinavske zemlje, a 852 je za slavenske narode koji piu latinicom, za (nestandardni) LATIN II kod. Kad na zaslonu elite odreeni skup znakova, kompjuteru jednostavno kaete da koristi taj i taj codepage. To se moe mijenjati i dinamiki u toku rada. U svakom codepageu ima ne jedan, nego vie setova znakova po istom standardu - za nekoliko veliina slova.

Screen_driveri_

EGA.CPI := standardni screen driver, od MS-DOS 5.0 na dalje ima i hrv. znakove, ali u gornjem djelu kodne tabele, po t.zv. LATIN 2 kodu (ISO 8859-2, iz 1987 godine). Hrvatski znakovi se nalaze na codepage-u 852

Keyboard_driveri_

Raspored tipki na tipkovnici se dobiva na dva naina:- pomou komande KEYB xx , ili pozivanjem drivera KEYBxx.EXE. Pozivanje drivera je stari, a komanda KEYB xx je novi nain.

Komanda KEYB xx poziva raspored tipki za naznaenu zemlju. Ako se umjesto xx napie US, dobiva se amerika, UK britanska, GE njemaka i.t.d. tipkovnica.

Minimalni zahtjev za standardni raspored slova na hrvatskim tipkovnicama je:

1234567890

QWERTYUIOP ili QWERTZUIOP

ASDFGHJKLƎ

ZXCVBNM ili YXCVBNM