Van Unicode verschijnt dit jaar versie 4. Unicode is een verzameling codenummers voor alle talen ter wereld, opgezet door een groep taalkundigen en ict’ers die niet langer wilden wachten op een ISO-standaard. Het is een internationaal verdrag dat door vrijwel alle software-fabrikanten wordt erkend; de nieuwste versies van hun software kan straks alle talen aan.
In de ict-oorlogen van de afgelopen decennia verloor het Nederlandse taalgebied de slag om de lange ij. De verslaggever zelf behoort tot de getroffenen. Bezigt uw correspondent in zijn e-mail met anderstaligen een lange ij, dan heet hij Gigs. Gebruikt hij een y, dan wordt tenminste de uitspraak benaderd.
Zo’n kleine fout kan toch heel kostbaar zijn. Het Britse televisieprogramma ‘Who wants to be a millionaire?’ had vorige week 64.000 pond over voor het antwoord op de vraag "Wie schilderde ‘Het Arnolfini portret’?" Controleer het antwoord op Google: "Did you mean Jan van Eyck?"
De 22 miljoen Nederlandstaligen vallen in het niet bij de driehonderd miljoen gebruikers die werken met Cyrillische schrift. Het Chinees is ’s werelds meest geschreven taal. In India schrijven een miljard inwoners Hindi, Urdu, Punjabi, Bengali, Sanskriet of Tamil. Welke software kan dat aan? Die met Unicode.
Alt-137
Beperkt iedereen zich tot de Engelse taal, dan valt er met computers goed te werken. Je drukt op een toets waar een y op staat en de computer vertaalt dit in een code die de software van besturingssysteem en het gebruikte programma vertalen door een y op het scherm. Maar waarom zit er op het toetsenbord van de computer geen Nederlandse IJ, een Franse �, een Chinees (karakter) of een Georgisch (karakter)?
Dat komt door de Noord-Amerikaanse ict’ers. Bij het ontwerpen van de eerste computers met toetsenbord, vonden zij in 1968 de 26 letters van het Engelse alfabet bevatte voldoende. Elke grote fabrikant mocht de tekens op zijn manier nummeren, zolang het maar binnen 128 tekens (zeven-bits) bleef.
Dat werd anarchie. Om uitwisseling van computerbestanden te vereenvoudigen ontwierpen Amerikaanse ict’ers Ascii (American Standard Code for Information Interchange). Deze tabel had voldoende ruimte over enkele andere tekens, zoals de kaartspelsymbolen harten, klaver, ruiten en schoppen en de bel van de typemachine.
In de praktijk leidde Ascii tot discriminatie van alle andere talen. Met eerst ‘extended Ascii’ en later ISO-8859 probeerden ict-deskundigen hieraan een einde te maken door de tabel met een bit uit te breiden. De overstap van zeven-bits naar acht-bits maakte het coderen van een tweede groep van 128 karakters mogelijk, veel meer dan er op het voor Ascii-ontworpen toetsenbord zitten. Het gevolg: tot ver in de jaren negentig hielden alle niet-Engelse computergebruikers een papieren lijstje in de buurt: Alt-137 leverde een ë enzovoorts. Ontbrak het lijstje, dan tikte men gewoon net zolang driecijferige codes in tot de gewenste �, � of ï gevonden was.
Als tekst op een floppy werd verstuurd naar een ander computergebruiker ging het mis. Pc-fabrikanten poogden hun klanten voorgoed te vangen binnen hun systeem. De verschillende ‘code pages’, toevoegingen aan Ascii en ISO-8859, die ze met hun computers meeleverden, voorkwamen een bruikbare uitwisseling met de concurrent.
Wie in die tijd een Frans document ontving dat was ingetikt op een van de eerste Apple-computers, kon er zeker van zijn dat, zonder decodering, de tekst onleesbaar bleef op het scherm van een Franse IBM-pc. Nog ingewikkelder was de uitwisseling van een tekst gemaakt met ISO-8859-8 (Hebreeuws); het werd een onbegrijpelijke karakterbrij op een computer die alleen ISO-8859-1 (Latin-1, ofwel West-Europees) begreep.
Internet maakte de verborgen uitwisselingsproblematiek in een klap duidelijk. Een document maken dat bijvoorbeeld Russisch, Japans en Arabisch bevat, kan immers niet met ISO-8859.
Ongeduldige ict’ers
De vergaderingen voor de opvolger van ISO-8559, ISO-10646 (ook bekend als IEC 10646 of UCS, van Universal Character Set) werden gedomineerd door de politiek; elk land zond een eigen vertegenwoordiger. Er was een tabel voor Egypte, een voor de Perzen. De codes voor het Chinees werden angstvallig bewaakt tegen vereenvoudigingen voorgesteld door Japaners of Koreanen.
Het wachten op de volgende ISO-standaard zat, begonnen in 1987 enkele ict’ers met een talenknobbel aan Unicode. Onder hen onder meer Joe Becker, van Rank Xerox en Mark Davis, toen werkzaam bij Apple, nu voorzitter van het Unicode-consortium. Zij worstelden toen al enkele jaren met het ontwerp van een computer die in het Japans kon worden bediend. De samenwerking met de collega’s in Japan verliep moeizaam. Zij spraken nauwelijks Engels, de Amerikanen geen Japans. Een vertaler met ervaring in deze diepere automatiseringstechnieken was ook niet voorhanden; wel iemand van marketing die toevallig beide talen sprak, aldus Davis. "Zo bespraken we de combinatie van Huffman en ‘run-length encoding’, allebei methoden voor compressie van data. We wisten in elk geval wat ‘miscommunicatie’ betekende."
Typemachine kan niet schrijven
Het enige Nederlandse bedrijf dat zitting heeft in het Unicode-consortium is DecoType. Het bedrijf richt zich op Russisch, Turks en het Arabisch. Die laatste taal is de specialiteit van oprichter Thomas Milo. Hij begon als student Russisch, maar via het Bulgaars, Macedonisch en Turks kwam hij bij Arabisch terecht. "Met deze talen op zak begon ik de wereld te ontdekken. Voor een Turkssprekende Armeniër uit Beiroet bracht ik bijvoorbeeld begin jaren zeventig auto’s, bedoeld als taxi’s, naar Libanon."
Zijn inbreng in Unicode is, zo legt de taalkundige uit, het indirecte gevolg van de burgeroorlog in dat land, waar hij begin jaren tachtig als Arabisch sprekend inlichtingen-officier gestationeerd was voor Unifil.
Beiroet was altijd het hart van de Arabische uitgeverij-industrie. Door de oorlog tussen Moslims en Christenen, die begon in 1975 en eindigde in 1985, miste het land de opkomst van de computerindustrie volledig. "Ze merkten niets van de opkomst van de mini-computers, zagen niet de eerste Macs of IBM-klonen. De burgeroorlog sneed dwars door de slagader van de Arabische boekdrukkunst."
Eenmaal terug in Nederland begon Milo met vertaalwerk. Hij ontwikkelde in de tweede helft van de jaren tachtig een computersysteem voor de kalligrafie van het Arabische schrift. "Goede kalligrafie is de kern van de Arabische beschaving. Deze kern van de Islam wordt op de meeste computers echter afgedaan met een mallotig font."
De kunst is volgens Milo te ontdekken wat de kleinste logische abstractie is van een schrift. Daarnaast moet van ieder geschrift worden vastgesteld hoe het eruit ziet, en hoe het werkt. "Pas als die spaghetti ontward is, kun je een computer-code opstellen."
Aan de hand van een voorbeeld toont hij genadeloos aan wat er misgaat met een standaard Arabische tekstverwerker. Met het meegeleverde Microsoft font typt hij in een venster bijvoorbeeld in het Arabisch de naam van Zuid-Libanese stad Tibniin. "In het Arabisch heb je enkele typen kalligrafische verlengingen. Het standaard font vertaalt dat altijd met een rechte lijn. In mijn eigen systeem houd ik rekening met de karakters ervoor en erna. Sommige verlengingen worden een lange boog, andere varianten laat ik juist weg."
"Is het een fout van het font? Ja en nee. De code voor verlenging wordt hier heel naïef omgezet in een liggend streepje. Die verlenging is echter niet het commando ‘liggen’, maar het commando ‘ontspan je’. De computer bootst een typemachine na. Dat is voor het Arabisch het lulligste wat je kan doen."
Milo doneerde een op Arabische kalligrafie gebaseerd font aan het Unicode-consortium. Zijn expertise verkoopt hij, bijvoorbeeld aan Abobe die hem inzette voor het correct analyseren van het Cyrillisch.
Alle talen, ook het spijkerschrift
De programmeurs en taalkundigen werken in het Unicode-consortium aan een tabel waarin alle karakters kunnen worden weergegeven, onafhankelijk van het besturingssysteem, toepassing of taal. Die tabel kan straks alle talen aan, de van-rechts-naar-links schriften van het Midden-Oosten, de talen van Azië, waaronder die van Cambodja en de Filipijnen, en zelfs de uitgestorven talen zoals Linear B, Cypriotisch, and Ugaritisch.
Unicode levert daarnaast nog komma’s, dubbele punten, wiskundige en technische symbolen. Diacritische tekens, zoals de tilde (~), kunnen worden gecombineerd met standaardkarakters om bijvoorbeeld de � te vormen. Unicode 4, die dit jaar gepubliceerd wordt, bevat de code waarmee 95,221 taalkarakters, iconen en symbolen gemaakt kunnen worden. De meest gebruikte laag van Unicode past in 64 duizend codepunten; daarvan zijn er nu nog 6700 leeg, om toekomstige uitbreidingen mogelijk te maken.
Unicode is opgezet als 16 bit systeem, twee bytes per karakter. Als concessie aan verouderde infrastructuur zijn er 8-bits en 7-bits varianten (UTF-8 en UTF-7) speciaal voor netwerkprotocollen. Het houdt rekening met bandbreedte, doordat alle karakters kunnen worden omgezet in een code met variabele lengte. Een webserver bijvoorbeeld geeft aan alle documenten die het opstuurt een code mee: Content-type: text/html’; charset=utf-8. De ontvangende toepassing weet daarmee hoe de tekst op correct weer te geven. Ontbreekt de toevoeging, dan is de codering standaard Latin-1.
UTF-16 is speciaal bedoeld voor die systemen die beperkte ruimte hebben. De meest gebruikte karakters passen in een 16-bit code, alle andere kunnen worden vertaald naar 16-bit codes. UTF-32 is de derde variant, voor systemen die aan geheugenruimte geen gebrek hebben, en die de karakters in een niet-variable byte-maat willen gebruiken.
Een van de allergrootste verdiensten van het consortium is, volgens Milo, dat het de tabellen voor het Chinees, Japans en Koreaans (CJK) samenvoegde. "Die drie taalgebieden kunnen elkaar niet uitstaan. In de ISO-organisatie kwamen ze niet nader tot elkaar. Unicode heeft net zolang op de CJK-leden ingepraat tot het ze inzagen dat ze hetzelfde schrift hadden."< BR>