Kóta Péter: Digitális forráskiadás. Gondolatok alapvető kérdésekről. Turul, 88. (2015) 4. 130–143.
133 A humán tudományok elsődleges forrásanyaga a szöveg volt, és az maradt multimédiás korszakunkban is. A szövegek lejegyzésének formái közül csak a számunkra legfontosabb betűírás, azon belül a latin betűk digitális kódolásával és megjelenítésével kapcsolatos problémákra térek ki. Mint minden emberi alkotás, a kódtáblázatok is magukon viselik a történeti fejlődés nyomait. A régebbi hardverekbe beépített karaktergenerátorok korában a O-tól 127-ig terjedő tartomány (7 bites bináris számmal megszámlálható) elegendőnek tűnt, ezt rögzítette az elterjedt ASCII szabvány. Az első 31 jel közt szerepel a nyomtató (valójában akkor még inkább elektromos írógép) vezérléséhez szükséges néhány kód, majd a leggyakoribb központozási jeleket és az arab számjegyeket követi a latin írás 26 nagy-, és kisbetűje. Az angolon kívül azonban nincs olyan nyelv, amely ne szorulna rá kiegészítő jelekre. Mikor bebizonyosodott, hogy a rendszerek elég biztonságosak, és a tartalékolt nyolcadik bitet karakterek kódolásában is fel lehet használni, annak rendszerbe állításával megduplázódott a táblázat mérete. A 128-tól 255-ig terjedő tartomány azonban még mindig nem elég ahhoz, hogy bármely latin betűs európai írást ellásson karakterekkel, ezért ún. kódlapokba, azaz nyelvi-földrajzi közelségben levő betűkészletekbe csoportosították a betűket. A 8 bites kód nemzetközi (ISO) szabványsorozata a „8859” elnevezést kapta, ezeknek a kódtábláknak első fele azonos az ASCII-val, a második részben vannak a nemzeti írásjegyek. A 8859-1 már tartalmaz egyes magyar ékezetes betűket, de az Ü, Ű, ő, ű helyén keretrajzoló alapidomok és egyebek éktelenkednek. Nekünk magyaroknak a 8859-2 „slavic” hozta meg az összes ékezetes betűt. A nehézség, hogy sorrendjük nem felel meg az alfabetikus rendezésnek, még kezelhető memóriában maradó segédprogramokkal, és legalább a saját nyelvünkön lehetett helyesen írni. De bajban voltak azok, akik cirill (ISO-8859-5), görög (ISO-8859-7) vagy héber (ISO-8859-8), stb. nyelvű idézeteket szerettek volna értekezésükbe beilleszteni, hiszen az operatív tárban egyidejűleg csak egy kódtáblázat tartózkodhat. A számítógép-használat nemzetközi elterjedése és soknyelvűvé válása tette szükségessé az eltérő írásrendszerek gépi kezelésének megoldását. Erre a feladatra alakult a 80-as évek vége felé a Unicode konzorcium, egy non-profit testü let, a szoftverek nemzetközi használatát segítő szabványok létrehozása és fejlesztése céljából. Szorosan együttműködik a W3C-vel, amely a világhálóval kapcsolatos szabványokat felügyeli, és a Nemzetközi Szabványügyi Szervezettel (ISO) - aminek eredményeként létrejött a Unicode szabvány, és megfelelője az ISO-10646. A Unicode lényeges módosításokat hozott a korábbi megoldásokkal szemben: 1) A hardverben tárolt betűk helyett kódpontoknak felelteti meg a bemenetről jövő impulzusokat. A kódpont egy ideális betű - pontosabban jel, vagyis graféma - rendszáma,15 amelyhez szorosan kapcsolódik a leírása, ahhoz pedig a képe. Ennek lehetnek eltérő stiláris, tipográfiai variánsai, de az adott betű fogalmilag azonos marad. 2) Nemcsak terminológiai és grafikai, hanem használati információkat is közöl: például vannak olyan jelek, amelyek bár „ránézésre” azonosak egy másikkal, a kontextustól függően mégsem cserélhetők fel! Pl. az ékezet (0301, „Combining acute accent”) a latin betűs magyarban a hang hosszúságát jelöli, a görögben az éles ékezet (0384, „Greek tonos”) a (zenei) hangsúlyt mutatja. Az ékezetek pedig jellemzően nem önálló helyen állnak, hanem egy másik jelhez kapcsolódnak. 3) Nem egy bittel, hanem több bájttal, növelték a táblázat méretét (maximum 6, de ajánlottan 4 bájtig), amivel az azonosítható kódpontok száma akár 1 114 112-ig emelkedhet. 15 Rendszáma természetesen a bitképes betűnek is van: az ASCII, vagy ISO által meghatározott sorszám. 16 A témában tovább tájékozódni kívánónak egy kitűnő bevezető: http:// www.cs.bme.hu/~egmont/utf8/. 17 Prószéky Gábor: Számítógépes nyelvészet. Bp., 1989. 529. A napjainkra kiforrottnak és világszerte elfogadottnak tekinthető, rendkívül átgondolt Unicode rendszer UTF-8 változatában minden karaktert különböző - lehetőleg minimális - számú bájton tárolnak. Az egybájtos kódpont jelentése azonos az ASCII kódtáblával. Az eddigiekből következően tehát egy amerikai felhasználónak fel sem tűnik, hogy milyen szellemi-technikai erőfeszítés rejlik egy olyan pofonegyszerű(nek látszó) dolog mögött, mint a klaviatúráról a képernyőre vagy a nyomtatóra betűket küldés; dolgozhat akár ASCII, akár ISO, akár Unicode beállítású gépen - és még a billentyűzet elrendezése is ehhez van igazítva. A nemzeti kódlapokon előforduló karakterek két bájton helyezkednek el, ami annyit jelent, hogy például magyar szövegekben levő ékezet nélküli betűk 127 alatti rendszámmal, egy bájton, az ékezetesek 2 bájton tárolódnak: változó kódszélesség. Arra is gondoltak a rendszer megalkotói, hogy formailag megkülönböztethető legyen az egybájtos kód bájtja a több-bájtosok kezdő, illetve követő bájtjaitól, tehát elvileg nem fordulhat elő az a tévedés, hogy a rendszer véletlenül egymás mellé került több bájtnyi kódsorozatot helytelenül egy karakternek „vél”.16 Az előregyártott, egyedi kódponton elhelyezkedő karakterek valójában a régimódi megoldást jelentik számos különleges karakter esetében. A Unicode-ba főleg azért kerültek be, hogy segítsék a nem teljesen Unicode-kompatibilis rendszereket, amelyekben a többelemű karakterek helytelenül jelennének meg. Prószéky Gábor már a 80-as évek elején javaslatot tett egy hasonló szemléletű, hatékony és áttekinthető kódolási sémára, melynek lényege:17 a latin ABC magánhangzóinak ékezetesítése egy univerzális táblázattal. A diakritikus jeleket tartalmazó oszlopokat sorszámok, a sorokat a betűk határozzák meg (példa):