View Gyula Kalcsó's profile on LinkedIn

I use TEI

Legújabb hozzászólások

2011. augusztus 27.

Különös betűk a képernyőn

A régi szövegekből álló korpuszok építésekor az egyik legnehezebb feladat annak a problémának a megoldása, hogy miként tároljuk és jelenítsük meg azokat a speciális betűket, amelyek a számítógéphasználó szélesebb rétegek számára nem annyira fontosak, hogy a karakterkódolási szabványok kezelői gondoltak volna a kezelésükre. Márpedig manapság egyre gyakoribb, hogy középkori kéziratokból, kódexekből, korai nyomtatványokból készítenek korpuszt. A korpuszépítéskor követendő karakterkódolási elvekről nemrégiben jelent meg egy poszt a Számítógépes nyelvészet blogban. Ez inspirált, hogy én is foglakozzam a kérdéssel, egy kicsit más szemszögből.

Nem akarok a karakterkódolás elméletébe és történetébe belemélyedni, de a témához mégiscsak kell pár szót ejteni róla. Először is a számítógép számára nem létezik betű, csak kód. A kód ugye alapvetően bináris: elektronikus gépekről beszélünk, vagyis arról az egyszerű elvről, hogy a "vezetékben" vagy van áram, vagy nincs. Ha van, akkor azt nevezzük 1-nek, ha nincs, az legyen a 0. Ez egy bitnyi információ, amelynek tehát két értéke lehet. Bináris kóddal az égvilágon mindenféle információt lehet kódolni, legfeljebb az összetettebb információhoz több kódra van szükség. A gép számára a betűk csak kódok tehát. Ha pl. két betűnk lenne, akkor egy biten lehetne kódolni őket, az egyik lenne a 0, a másik az 1. 3-hoz vagy 4-hez már két bit kell, és így tovább. A számítástechnika hőskorában, amikor még minden gép csak angol nyelvű szövegeket jelenített meg a konzolokon, akkor elég volt 7 bit (128 féle érték), hogy mindent lehessen kódolni, az angol ábécé betűin kívül az írásjeleket, a szóközt és még néhány ún. vezérlőkaraktert is. Amikor aztán felmerült az igény arra, hogy más nyelvek betűi is megjelenjenek, hozzácsaptak még egy bitet, így már 256 féle kódot lehetett használni. A 7 bites kódolási rendszert hamar szabványosították, így jött létre az American Standard Code for Information Interchange ( ASCII), majd a 8 bites változatok szabványosításával a különböző ún. kiterjesztett ASCII kódrendszerek. A magyar nyelvű szövegeket pl. az ISO/IEC 8859-2 szabványban rögzített ún. Latin-2-es kódrendszerrel lehet kódolni, ebben már benne van az ún. Latin-1-ből hiányzó ő és ű is.

Hamar kiderült azonban, hogy az egybyte-os (8 bit együttesét nevezik byte-nak) rendszerek is kevésnek bizonyulnak, ha mondjuk olyan írásokat kell megjeleníteni, amelyeknek 256-nál is több írásjelük van (mint pl. a kínai). A kézenfekvő megoldás a bitek növelése volt. Az első univerzális karakterkészletek (az ISO/IEC 10646-os szabvány, a Universal Character Set – UCS, valamint a konzorciális keretek között fejlesztett Unicode) megalkotásakor eleinte egyszerűen két byte-ot használtak, amellyel lehetséges volt 65536 kód kiosztása. Később ezeket még tovább bővítették (ma már 4 byte-osak), de valójában a téma szempontjából a technikai részletek már nem annyira fontosak, a lényeg az, hogy ma már elvileg lehetséges minden használatban lévő, valamint a történelem folyamán használatos írásrendszert kódolni.

De. Ahhoz, hogy egy írásrendszer benne legyen a Unicode-ban, az írás használóinak kell kezdeményezniük (ha a Unicode fejlesztői nem gondolnak rá maguktól). Ez a helyzet a középkori kéziratokban, valamint a korai nyomtatványokban használt speciális betűkkel is. Bármennyire gyorsan fejlődik is a Unicode, még mindig sokféle speciális jel hiányzik belőle. A kérdés az, hogy mit tehet akkor egy ilyen jellegű korpuszt fejlesztő szakember. Nem véletlen, hogy a DH-konferenciákon állandó témaként szerepel a karakterkódolás problémája (pl. legújabban majd a würzburgi TEI-konferencián).

A szabványos megoldáshoz kizárólag a Unicode használható, mivel a korpuszok zöme ma már XML-alapú, és az XML támogatja a Unicode-ot. Amennyiben pl. valaki a TEI-XML-t választja a korpusza annotálásához, akkor egyúttal a Unicode mellett teszi le a garast. Mit legyen azonban a Unicode-ból hiányzó karakterekkel? A szerencsésebb eset az, amikor a speciális betű ellőállítható már létező Unicode-elemekből, azaz ún. kombinált karaktert használunk. Ilyen pl. a LATIN SMALL LETTER O WITH COMBINING LATIN SMALL LETTER E, ilyeneket láthatunk pl. ebben a szövegben. (A csupa nagybetűs leírás valójában a karakter, vagyis a graféma megnevezése. Ehhez tartozhat egy vagy több kódpont, valamint egy vagy több megjelenési forma. Lehet pl. dőlt, félkövér stb. A megjelenési forma, az ún. glyph v. glifa látszik a képernyőn). Ha azonban nem tudjuk kombinált jelként felépíteni a speciális karakterünket, akkor már csak egy megoldás marad: az ún. Private Use Area (PUA) használata. Ez olyan kódpontok összességét jelenti, amelyeket szabadon hagytak saját jelek használatára. Ezzel csak az a gond, hogy ha saját fejlesztésű karakterkészletet használok, akkor a felhasználóknak is le kell tölteniük azt a saját gépükre. Ezt vagy megteszik, vagy nem. Ráadásul ez esetben célszerű részletes technikai útmutatót mellékelni, szóval macera.

Sajnos azonban nincs más út, ha meg is akarjuk jeleníteni ezeket a karaktereket. (Ha nem akarjuk feltétlenül megjeleníteni, akkor van mód az XML-ben megfelelő módon kódolni, de ez talán inkább másik poszt témája lehet.) Ha már a PUA-t használjuk, legalább tegyük ezt valamilyen nemzetközi normának megfelelő módon. A középkori (és kora újkori) szövegek esetében szerencsére van ilyen: Medieval Unicode Font Initiative-nak hívják (MUFI). A MUFI lényege, hogy ajánlásokat fogalmaznak meg a Unicode-ban egyelőre nem kódolt karakterek kódolására. Ez a PUA átmeneti használatát jelenti, majd – amennyiben a Unicode konzorcium elfogadja – saját szabványos kódpont kiosztását (pl. 2008 áprilisában, a Unicode 5.1-es verziójának a megjelenésekor 152 MUFI-javaslat került bele a standardba). Amennyiben a MUFI ajánlásait betartó fontkészletet telepít a felhasználónk a saját gépére, akkor helyesen fogja tudni megjeleníteni a szövegeinket.

Kalcsó Gyula jegyezte be, 16:54-kor.

Címkék: speciális karakterek MUFI Unicode

Szólj hozzá!

A bejegyzés trackback címe:

https://digitalisbolcseszet.blog.hu/api/trackback/id/tr273184149

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása