- Écritures indiennes et informatique
-
Les particularités des écritures indiennes par rapport aux autres écritures (notamment l’alphabet latin) ont obligé les informaticiens à inventer des techniques spécifiques permettant de les afficher, les saisir et stocker des textes les utilisant.
Sommaire
Codage
Il existe actuellement (2007) plusieurs systèmes de codage des caractères des écritures indiennes. Il y a une norme Unicode et en parallèle des codages propriétaires.
Unicode
Le Consortium Unicode a attribué des plages de caractères (de U+0900 à U+0DFF) aux différentes écritures indiennes et a donné des recommandations sur leur représentation et leur codage. Il a établi une norme de départ basée sur l’implémentation de la devanagari puis l’a appliquée aux autres écritures en faisant des adaptations quand c’était nécessaire.
Généralités
Chaque forme indépendante de consonne, de voyelle, chaque forme dépendante de voyelle et chaque chiffre dispose est représenté par un code de caractère propre. Chaque plage d’écriture suit autant que possible un ordre similaire :
- Bindus
- Visarga
- Formes indépendantes des voyelles
- Formes indépendantes des consonnes dans l'ordre phonétique suivant (selon le point d'articulation) :
- Formes dépendantes des voyelles
- Virama
- Chiffres
Les codes de ces séries de caractères sont les mêmes relativement au début de la plage de l’écriture. Des caractères spécifiques peuvent être intercalés entre ces séries.
Les exemples suivants utilisent la devanagari.
Lorsqu’une voyelle dépendante suit phonétiquement une consonne, son caractère est toujours codé logiquement après le caractère de la consonne, comme l’ordre de prononciation, quel que soit le rendu graphique, par exemple की kī est codé <U+0915,U+0940> (ka, ī), et कि ki est codé <U+0915,U+093F> (ka, i).
Pour écrire une combinaison de consonnes, on insère le caractère du virama entre 2 consonnes, par exemple स्त sta s’écrit <U+0938,U+094D,U+0924> (sa, virama, ta). En dévanagari ou en gujarati Lorsque la consonne r- (ra plus virama) précède phonétiquement une autre consonne, ces caractères sont toujours codés avant l’autre consonne indépendamment du rendu graphique, comme dans l’ordre de prononciation, même si cette consonne est représentée graphiquement comme un diacritique de la consonne suivante dans le même akshara.
Si on veut réellement écrire une consonne dotée d’un virama puis une autre consonne au lieu de faire la ligature, on insère le caractère de contrôle Unicode de code U+200C ZWNJ (Zero Width Non-Joiner, antiliant sans chasse) entre le caractère du virama et celui de la consonne qui doit le suivre, par exemple क्ष (au lieu de la ligature attendue क्ष) s’écrit <U+0915,U+094D,U+200C,U+0937>.
Si, pour écrire une combinaison de consonnes utilisant normalement un nouveau symbole à part entière, on veut utiliser les « demi-formes » des consonnes, on insère le caractère ZWJ (Zero Width Joiner) de code U+200D entre le caractère U+094D du virama dévanagari et le caractère dévanagari codant la consonne qui doit le suivre ; par exemple श्व (au lieu de l’attendu श्व, qui se prononcerait de façon semblable) s’écrit <U+0936,U+094D,U+200D,U+0935>.
Le signe nuqta est placé immédiatement après la consonne à laquelle il se rattache, même en cas de consonne suivie par une forme dépendante de voyelle ou de groupement de consonnes (par l’intermédiaire d'un virama).
Les signes de ponctuation danda et double danda sont utilisés dans plusieurs écritures mais sont codés uniquement dans la plage de la dévanâgarî. Ce n'est pas le cas pour Om̐.
Devanāgarī
0123456789ABCDEF090कऀकँकंकःऄअआइईउऊऋऌऍऎए091ऐऑऒओऔकखगघङचछजझञट092ठडढणतथदधनऩपफबभमय093रऱलळऴवशषसहकऺकऻक़ऽकाकि094कीकुकूकृकॄकॅकॆकेकैकॉकॊकोकौक्कॎकॏ095ॐक॑क॒क॓क॔कॕकॖकॗक़ख़ग़ज़ड़ढ़फ़य़096ॠॡकॢकॣ।॥०१२३४५६७८९097॰ॱॲॳॴॵॶॷॹॺॻॼॽॾॿcode ISO 15924 : Deva
Bengali
0123456789ABCDEF098কঁকংকঃঅআইঈউঊঋঌএ099ঐওঔকখগঘঙচছজঝঞট09Aঠডঢণতথদধনপফবভময09Bরলশষসহক়ঽকাকি09Cকীকুকূকৃকৄকেকৈকোকৌক্ৎ09Dকৗড়ঢ়য়09Eৠৡকৢকৣ০১২৩৪৫৬৭৮৯09Fৰৱ৲৳৴৵৶৷৸৹৺৻code ISO 15924 : Beng
Gurmukhî
0123456789ABCDEF0A0ਕਁਕਂਕਃਅਆਇਈਉਊਏ0A1ਐਓਔਕਖਗਘਙਚਛਜਝਞਟ0A2ਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯ0A3ਰਲਲ਼ਵਸ਼ਸਹਕ਼ਕਾਕਿ0A4ਕੀਕੁਕੂਕੇਕੈਕੋਕੌਕ੍0A5ਕੑਖ਼ਗ਼ਜ਼ੜਫ਼0A6੦੧੨੩੪੫੬੭੮੯0A7ਕੰਕੱੲੳੴਕੵcode ISO 15924 : Guru
Le symbôle religieux khanda (☬) parfois utilisé dans les textes écrits en Gurmukhi est codé par le caractère U+262C.
Gujarati
0123456789ABCDEF0A8કઁકંકઃઅઆઇઈઉઊઋઌઍએ0A9ઐઑઓઔકખગઘઙચછજઝઞટ0AAઠડઢણતથદધનપફબભમય0ABરલળવશષસહક઼ઽકાકિ0ACકીકુકૂકૃકૄકૅકેકૈકૉકોકૌક્0ADૐ0AEૠૡકૢકૣ૦૧૨૩૪૫૬૭૮૯0AF૱code ISO 15924 : Gujr
Oriyâ
0123456789ABCDEF0B0କଁକଂକଃଅଆଇଈଉଊଋଌଏ0B1ଐଓଔକଖଗଘଙଚଛଜଝଞଟ0B2ଠଡଢଣତଥଦଧନପଫବଭମଯ0B3ରଲଳଵଶଷସହକ଼ଽକାକି0B4କୀକୁକୂକୃକୄକେକୈକୋକୌକ୍0B5କୖକୗଡ଼ଢ଼ୟ0B6ୠୡକୢକୣ୦୧୨୩୪୫୬୭୮୯0B7୰ୱ୲୳୴୵୶୷code ISO 15924 : Orya
Tamoul
0123456789ABCDEF0B8பஂஃஅஆஇஈஉஊஎஏ0B9ஐஒஓஔகஙசஜஞட0BAணதநனபமய0BBரறலளழவஶஷஸஹபாபி0BCபீபுபூபெபேபைபொபோபௌப்0BDௐபௗ0BE௦௧௨௩௪௫௬௭௮௯0BF௰௱௲௳௴௵௶௷௸௹௺code ISO 15924 : Taml
Télougou
0123456789ABCDEF0C0కఁకంకఃఅఆఇఈఉఊఋఌఎఏ0C1ఐఒఓఔకఖగఘఙచఛజఝఞట0C2ఠడఢణతథదధనపఫబభమయ0C3రఱలళవశషసహఽకాకి0C4కీకుకూకృకౄకెకేకైకొకోకౌక్0C5కౕకౖౘౙ0C6ౠౡకౢకౣ౦౧౨౩౪౫౬౭౮౯0C7౸౹౺౻౼౽౾౿code ISO 15924 : Telu
Kannara
0123456789ABCDEF0C8ಲಂಲಃಅಆಇಈಉಊಋಌಎಏ0C9ಐಒಓಔಕಖಗಘಙಚಛಜಝಞಟ0CAಠಡಢಣತಥದಧನಪಫಬಭಮಯ0CBರಱಲಳವಶಷಸಹಲ಼ಽಲಾಲಿ0CCಲೀಲುಲೂಲೃಲೄಲೆಲೇಲೈಲೊಲೋಲೌಲ್0CDಲೕಲೖೞ0CEೠೡಲೢಲೣ೦೧೨೩೪೫೬೭೮೯0CFೱೲcode ISO 15924 : Knda
Malayâlam
0123456789ABCDEF0D0കംകഃഅആഇഈഉഊഋഌഎഏ0D1ഐഒഓഔകഖഗഘങചഛജഝഞട0D2ഠഡഢണതഥദധനഩപഫബഭമയ0D3രറലളഴവശഷസഹഺഽകാകി0D4കീകുകൂകൃകൄകെകേകൈകൊകോകൌക്ൎ0D5കൗ0D6ൠൡകൢകൣ൦൧൨൩൪൫൬൭൮൯0D7൰൱൲൳൴൵൹ൺൻർൽൾൿcode ISO 15924 : Mlym
Singhalais
0123456789ABCDEF0D8ථංථඃඅආඇඈඉඊඋඌඍඎඏ0D9ඐඑඒඓඔඕඖකඛගඝඞඟ0DAචඡජඣඤඥඦටඨඩඪණඬතථද0DBධනඳපඵබභමඹයරල0DCවශෂසහළෆථ්ථා0DDථැථෑථිථීථුථූථෘථෙථේථෛථොථෝථෞථෟ0DE0DFථෲථෳ෴code ISO 15924 : Sinh
Codages propriétaires
Des sites web codent les caractères des écritures indiennes sur 1 octet sans table de caractères particulière. L'attributation d’un caractère à un code est dépendant de la police de caractères utilisée, chaque caractère en principe représenté par un code étant remplacé par un caractère arbitraire de l'écriture indienne en question. Ainsi les demi-formes utilisées dans des groupes de consonnes, les représentations de consonnes dépendant d’un contexte particulier, etc. ont leur propre code, avec le symbole correspondant dans la police.
Ce type de codage gêne considérablement tout traitement automatisé – comme la recherche de texte ou l’indexation par des moteurs de recherche – des textes ainsi écrits.
Affichage
Cas d’Unicode
L'utilisateur doit disposer d’une police Unicode de son choix ou au moins d’un police disposant de la plage de caractères correspondant à l’écriture voulue. Les logiciels de l’utilisateur doivent exploiter correctement la police, notamment afficher les caractères ou morceaux de caractères dans le bon ordre graphique même quand il est contraire à celui du codage.
Si un groupement de consonnes nécessite un glyphe dont la police ne dispose pas, les demi-formes des consonnes doivent être affichées. Si même ces dernières sont indisponibles, les formes indépendantes rattachées au virama sont utilisées.
Cas des systèmes propriétaires
L’utilisateur doit disposer de la police de caractères spécifiquement conçue pour le codage. Pour une même écriture il y a souvent plusieurs codages ou plusieurs polices, ce qui oblige l’utilisateur à installer une nouvelle police à chaque fois. Ces polices ne sont disponibles que sur Windows.
Saisie
Unix
Tous les Unix utilisant X-Window peuvent soit modifier directement l’attribution des caractères aux touches du clavier via xmodmap ou XKB, soit utiliser une méthode d'entrée. L’utilisation de ces technologies peut éventuellement être laissée aux soins du gestionnaire de fenêtres.
Références
- (en) Consortium Unicode, South Asian Scripts[PDF], octobre 2009
- (en) Richard Ishida, An Introduction to Indic Scripts
Catégorie :- Alphasyllabaire d'origine indienne
Wikimedia Foundation. 2010.