YU fontovi: Kako su jugoslovenski računari pisali ćirilicu pomoću zagrada i znakova
Prije Unicodea, jugoslovenski korisnici računara koristili su zagrade, tilde i at-znakove umjesto slova poput Š, Đ i Ž. Evo kompletne priče o YU fontovima.
U doba prije Unicodea, kada su računari tek počinjali da ulaze u jugoslovenske domove i kancelarije, postojao je jedan fundamentalan problem: standardni ASCII skup znakova imao je samo 128 pozicija, i nijedna od njih nije bila rezervisana za slova poput Š, Đ, Č, Ć i Ž. Ova naizgled jednostavna tehnička prepreka stvorila je čitav ekosistem improvizovanih rješenja poznatih kao YU fontovi, čije posljedice osjećamo i danas.
Šta je ASCII i zašto je bio problem?
ASCII (American Standard Code for Information Interchange) je standard za kodiranje znakova razvijen 1963. godine u Sjedinjenim Američkim Državama. Definisao je 128 znakova: 26 malih i 26 velikih slova engleskog alfabeta, cifre 0-9, interpunkcijske znakove i kontrolne znakove. Ovaj standard je savršeno odgovarao engleskom jeziku, ali je potpuno ignorisao potrebe ostalih jezika.
Za jezike poput srpskog, bosanskog, hrvatskog, slovenačkog i makedonskog, koji koriste specifična slova sa dijakritičkim znakovima (Č, Ć, Š, Ž, Đ), ASCII je bio nedovoljan. U ASCII tabeli jednostavno nije bilo mjesta za ova slova. Svaki pokušaj pisanja teksta na ovim jezicima pomoću čistog ASCII-ja prisiljavao je korisnike da biraju: ili pisati bez dijakritika ("Cestitam ti rodjendan" umjesto "Čestitam ti rođendan"), ili pronaći kreativno rješenje.
Rođenje YUSCII standarda
Jugoslovenski inženjeri i informatičari odlučili su se za kreativno rješenje. Umjesto da čekaju da međunarodna zajednica usvoji podršku za njihova slova, oni su prenamjenili postojeće ASCII pozicije. Znakovi koji su se najrjeđe koristili u svakodnevnom tekstu - zagrade, at-znak, tilda, backtick i slični - zamijenjeni su nacionalnim slovima.
Tako je nastao YUSCII (Yugoslav Standard Code for Information Interchange), poznat i kao JUS I.B1.002 standard, usvojen 1983. godine. Postojalo je više varijanti, ali najraširenija je bila CER (Central European Replacement) varijanta koja je definisala sljedeće mapiranje:
Mala slova: - { → š - } → đ - | → ć - ` → č - ~ → ž
Velika slova: - [ → Š - ] → Ć - \ → Đ - ^ → Č - @ → Ž
Ovo je značilo da tekst "Šta ćeš?" na ekranu korisnika sa YU fontom izgleda ispravno, ali u memoriji računara je zapravo pohranjen kao "[ta |e{?".
Kako su YU fontovi funkcionisali u praksi?
YU fontovi su radili na jednostavnom principu: umjesto da mijenjaju softver ili operativni sistem, mijenjali su samo vizuelni prikaz znakova. Font fajl je definisao da se na poziciji ASCII koda 123 (normalno '{') prikazuje grafička reprezentacija slova 'š'. Tekst u memoriji i dalje sadrži '{', ali na ekranu se vidi 'š'.
Za krajnjeg korisnika, ovo je često izgledalo savršeno. Dokument bi na ekranu prikazivao ispravna srpska ili hrvatska slova, i kada bi se štampao na lokalnom štampaču koji je imao isti font instaliran, sve bi bilo u redu. Problem je nastajao čim bi taj dokument napustio tu konkretnu konfiguraciju.
Razni programi - razni fontovi
U praksi, gotovo svaki popularniji softverski paket je dolazio sa sopstvenim YU fontom: - WordPerfect je koristio svoje YU fontove - Lotus 1-2-3 je imao drugačije mapiranje - Razne verzije DOS-a su distribuisane sa različitim codepage-ovima - Štampači su imali sopstvene fontove
Ovo je značilo da je otvaranje dokumenta kreiranog u jednom programu u drugom programu često rezultiralo nerazumljivim tekstom punim zagrada, tildi i at-znakova.
YUSCII varijante i konfuzija
Problem je dodatno usložnjen time što nije postojao samo jedan YU standard. Pored CER varijante, postojale su i:
JUS I.B1.003 - varijanta za slovenački jezik, sa nešto drugačijim mapiranjem jer slovenački koristi druga specifična slova (npr. neće imati Đ ali treba Ä, Ö i sl.).
Razne nestandardne varijante - mnogi proizvođači softvera, naročito piratizovanih verzija, kreirali su sopstvene YU fontove sa proizvoljnim mapiranjima. Ovo je dovelo do situacije u kojoj dva korisnika istog programa mogu imati potpuno različite fontove.
Ćirilični YUSCII - posebna varijanta koja je mapirala ćirilična slova na ASCII pozicije, sa svojim pravilima i konfuzijom.
Rezultat je bio potpuni haos. Isti fajl mogao je izgledati potpuno drugačije na dva različita računara, zavisno od toga koji YU font je bio instaliran.
Problemi koje su YU fontovi donijeli
1. Nemogućnost razmjene dokumenata
Najočigledniji problem bio je nemogućnost pouzdane razmjene dokumenata. Kada biste nekome poslali dokument, morali ste poslati i font kojim je napisan. Ako primalac nije imao isti font, umjesto teksta "Đorđe je čekao šest časova na željezničkoj stanici" vidio bi nešto poput "]or|e je `ekao {est `asova na ~eljezni`koj stanici".
2. Sortiranje i pretraga
Pošto su slova sa dijakritikom zapravo bili potpuno drugi ASCII znakovi, sortiranje teksta po abecedi davalo je besmislene rezultate. Slovo 'š' (koje je u memoriji zagrada) bi se sortiralo na poziciji otvorene vitičaste zagrade, a ne tamo gdje pripada u srpskom ili hrvatskom alfabetu. Baze podataka su bile posebno pogođene ovim problemom.
3. Programiranje i posebni znakovi
Programeri su bili u posebno neprijatnoj situaciji. Vitičaste zagrade { } su fundamentalni dio sintakse u jezicima kao što su C, Pascal i mnogi drugi. Ako je aktiviran YU font, programski kod bi na ekranu izgledao potpuno nerazumljivo jer bi se zagrade prikazivale kao š i đ. Programeri su morali konstantno prebacivati između "normalnog" i YU fonta, ili jednostavno pamtiti da ono što na ekranu piše "for (i=0; i<10; i++) šprintfđ" zapravo znači "for (i=0; i<10; i++) {printf}".
4. E-mail i internet komunikacija
Sa pojavom e-maila i interneta početkom 1990-ih, problemi su se multiplicirali. E-mail sistemi su koristili ASCII za prenos poruka. Poruka napisana sa YU fontom bi stigla na drugi kraj svijeta kao gomila zagrada i specijalnih znakova. Primaocu bi dolazio potpuno nečitljiv tekst. Mnogi korisnici su se zbog ovoga vratili na pisanje bez dijakritika, što je donijelo novi set problema sa razumijevanjem teksta.
5. Web stranice
Prve jugoslovenske web stranice su se suočavale sa istim problemom. Tekst koji je na serveru izgleda ispravno, na klijentskom računaru bez odgovarajućeg fonta je bio neprepoznatljiv. Mnogi webmasteri su pribjegavali pisanju bez dijakritika ili korištenju slika umjesto teksta za naslove.
6. Štampanje
Čak i štampanje je bilo problematično. Štampač je trebao imati isti font kao i ekran. Matrični štampači, koji su u to doba bili dominantni, imali su fontove ugrađene u ROM (Read Only Memory). Zamjena ovih fontova zahtijevala je fizičku modifikaciju štampača ili posebne softverske drajvere.
Prelazak na Unicode i naslijeđe YU fontova
Početkom 2000-ih, sa širim usvajanjem Unicodea (naročito UTF-8 kodiranja) i operativnih sistema koji su ga nativno podržavali (Windows XP, Linux distribucije), YU fontovi su počeli da izlaze iz upotrebe. Unicode je definitivno riješio problem jer je svakom slovu svakog pisma dodijelio jedinstveni broj. Slovo Š je konačno imalo svoju poziciju (U+0160), a ne pozajmljenu poziciju otvorene uglaste zagrade.
Međutim, naslijeđe YU fontova živi i danas:
Stari dokumenti - Ogromna količina dokumenata iz perioda 1985-2005 još uvijek postoji u YUSCII kodiranju. Mnogi od ovih dokumenata nikada nisu konvertovani i gube se u digitalnom zaboravu jer ih moderni softver prikazuje kao besmisleni niz specijalnih znakova.
Navike korisnika - Čitava generacija korisnika je odrasla pišući bez dijakritika (smatrajući to "normalnim" za kompjuter), i ova navika perzistira i danas, posebno u neformalnoj komunikaciji na internetu.
Konverzijski alati - Potreba za konverzijom starih YU-kodiranih tekstova u pravilnu latinicu i danas postoji, što je razlog zašto naš alat uključuje poseban modul za YU fontove.
Tabela mapiranja YU fontova
Za referenci, evo kompletne tabele mapiranja najčešće korišćene YUSCII/CER varijante:
| YU znak | Pravo slovo | ASCII kod | Opis |
|---|---|---|---|
| { | š | 123 | Otvorena vitičasta zagrada |
| } | đ | 125 | Zatvorena vitičasta zagrada |
| ć | 124 | Vertikalna crta (pipe) | |
| ` | č | 96 | Backtick |
| ~ | ž | 126 | Tilda |
| [ | Š | 91 | Otvorena uglasta zagrada |
| ] | Ć | 93 | Zatvorena uglasta zagrada |
| \ | Đ | 92 | Obrnuta kosa crta (backslash) |
| ^ | Č | 94 | Cirkumfleks |
| @ | Ž | 64 | At-znak (et) |
Kako konvertovati stare YU fontove?
Ako imate stare dokumente pisane YU fontovima, naš alat za konverziju YU fontova može pomoći. Jednostavno zalijepite tekst sa starim kodiranjem u polje za unos, izaberite smjer konverzije (YU → Latin ili Latin → YU) i dobićete ispravno formatiran tekst.
Na primjer, tekst "]or|e je `ekao {est `asova" će biti konvertovan u "Ćorće je čekao šest časova". Alat prepoznaje sve standardne YUSCII zamjene i ispravno ih konvertuje.
Zaključak
YU fontovi su bili ingeniozan, ali inherentno ograničen odgovor na realan problem. Oni svjedoče o domišljatosti jugoslovenskih informatičara koji su sa ograničenim resursima pokušali da prilagode globalnu tehnologiju lokalnim potrebama. Istovremeno, oni su i podsjetnik na to koliko je važno da tehnološki standardi budu inkluzivni od samog početka.
Danas, zahvaljujući Unicodeu, problem kodiranja specijalnih znakova je uglavnom riješen. Ali milioni dokumenata pisanih YU fontovima i dalje čekaju da budu konvertovani u pravilno kodiran tekst - i upravo za to služi naš YU font konvertor.
Često postavljana pitanja
Šta su YU fontovi?▼
YU fontovi su bili posebni kompjuterski fontovi korišteni u Jugoslaviji i njenim nasljednicama koji su zamjenjivali ASCII znakove poput zagrada ({, }, [, ]) i specijalnih znakova (@, ~, ^) sa slovima poput Š, Đ, Č, Ć i Ž. Tekst je u memoriji sadržavao zagrade, ali je na ekranu prikazivao ispravna slova.
Šta je YUSCII?▼
YUSCII (Yugoslav Standard Code for Information Interchange) je bio jugoslovenski standard za kodiranje znakova, formalno poznat kao JUS I.B1.002, usvojen 1983. godine. Definisao je koje ASCII pozicije se zamjenjuju kojim nacionalnim slovima sa dijakritičkim znakovima.
Zašto su YU fontovi pravili probleme?▼
Glavni problemi su bili: nemogućnost razmjene dokumenata (primalac je trebao isti font), pogrešno sortiranje teksta, konflikti sa programskim jezicima koji koriste iste znakove (zagrade), i nečitljivost teksta na internetu i u e-mailu.
Kako konvertovati tekst sa YU fontova u normalan tekst?▼
Koristite naš YU font konvertor u tabu 'YU fontovi'. Zalijepite tekst sa starim YU kodiranjem, izaberite smjer konverzije YU → Latin i alat će automatski zamijeniti sve YUSCII znakove ispravnim slovima (npr. { → š, } → đ, | → ć).
Da li se YU fontovi još koriste?▼
U praksi više ne. Od sredine 2000-ih, Unicode (UTF-8) je potpuno zamijenio YU fontove. Međutim, mnogi stari dokumenti iz perioda 1985-2005 su i dalje u YUSCII kodiranju i potrebna im je konverzija da bi bili čitljivi na modernim računarima.