S-a întâmplat de multe ori să aud referiri la „fonturi românești”. Așa ceva nu există. Există doar fonturi care au sau nu prezente glifele caracterelor cu diacritice utilizate în limba română, pe pozițiile caracterelor specificate în standardul Unicode și/sau ISO/IEC 10646.
Note:
În această pagină nu veți găsi niciun font, ci numai povești despre codurile caracterelor în fonturi, atunci când se pune problema de a fabrica (sau de a modifica, acolo unde este permis) un font.
Voi folosi termenii glifă/glife pentru traducerea termenilor din limba engleză glyph/glyphs; acest termen nu există în DOOM (Editura Academiei, ediția II, 2005), eu îl folosesc plecând de la un fel de descompunere a termenului „hieroglifă”.
Deocamdată:
Este important de reținut că producătorii de fonturi nu pun accentul pe caractere, ci pe „glyphs” – adică pe reprezentarea grafică a caracterelor. Un caracter definit într-un fel în tabelele de codare Unicode poate fi reprezentat și interpretat grafic diferit într-un font.
Pentru „noi”, situația este – sau ar trebui să fie – simplă: limba română folosește alfabetul latin, care din punctul de vedere al caracterelor și al reprezentării lor grafice este simplu și direct: fiecărui caracter îi corespunde – sau ar trebui să-i corespundă – o glifă unică, cu o reprezentare grafică și denumire a reprezentării grafice în relație directă cu descrierea abstractă din tabelele de codare Unicode.
Și totuși, pentru „noi”, situația este mizeră, cel puțin în privința caracterelor Ș/ș și Ț/ț. Cei interesați pot citi un scurt istoric pe tema asta.
Una peste alta, pe lângă repertoriul invariabil ISO/IEC 646-IRV (echivalent cu setul de caractere cunoscut sub numele de US-ASCII), condiția ca un font să fie compatibil cu limba română este ca acesta să conțină și caracterele ale căror coduri Unicode și denumiri de glife sunt următoarele:
caracter | nume Unicode | cod Unicode | nume de glifă |
---|---|---|---|
Ă | Latin capital letter A with breve | 0102 | Abreve |
ă | Latin small letter A with breve | 0103 | abreve |
 | Latin capital letter A with circumflex | 00C2 | Acircumflex |
â | Latin small letter A with circumflex | 00E2 | acircumflex |
Î | Latin capital letter I with circumflex | 00CE | Icircumflex |
î | Latin small letter I with circumflex | 00EE | icircumflex |
Ș | Latin capital letter S with comma below | 0218 | Scommaaccent |
ș | Latin small letter S with comma below | 0219 | scommaaccent |
Ț | Latin capital letter T with comma below | 021A | uni021A |
ț | Latin small letter T with comma below | 021B | uni021B |
Din motiv de compatibilitate cu versiunile mai vechi ale sistemului de operare Microsoft Windows, unde limbii române îi erau asociate în mod greșit caracterele ş și ţ cu sedilă (și încă îi sunt, la codările pe 8 biți), un font destinat a fi folosit (și) pentru limba română va trebui să includă și caracterele ale căror coduri Unicode și denumiri glife sunt următoarele:
caracter | nume Unicode | cod Unicode | nume de glifă |
---|---|---|---|
Ş | Latin capital letter S with cedilla | 015E | Scedilla |
ş | Latin small letter S with cedilla | 015F | scedilla |
Ţ | Latin capital letter T with cedilla | 0162 | uni0162 |
ţ | Latin small letter T with cedilla | 0163 | uni0163 |
În privința aspectului glifelor, este recomandabil ca acestea să coincidă cu descrierea abstractă a caracterelor din standardul Uniocde și/sau ISO/IEC 10646.
Note:
Recomandarea este făcută prin prisma „noastră”, adică a proprietarilor de limbă română ca să zic așa, care am fost afectați negativ de deciziile altora în probleme care ne privesc în primul rînd pe noi; mă refer aici la asocierea de către ISO în mod greșit a caracterelor cu sedilă pentru limba română (inițial, în 1987 și ulterior, în 1998), precum și la idioțenia celor de la divizia de tipografie a companiei Adobe care au schimbat glifele din sedilă în virgulă (fără a umbla codare), în ideea că pentru limba română „merge și așa”, producând confuzie și întârziind rezolvarea corectă a problemei cu un număr semnificativ de ani.
Cu ocazia actualizării fonturilor de bază („core fonts”) din versiunea Vista a sistemului de operare Microsoft Windows (actualizare din punctul nostru de vedere, în sensul suportului corect și complet pentru limba română), compania Microsoft a făcut – în mod surprinzător aș zice, pentru că nu le stă în obicei să schimbe ceva deja bătut în cuie – o mișcare extrem de înțeleaptă: pentru caracterele Ţ/ţ cu sedilă dedesubt a pus la loc glifele tot cu sedilă dedesubt în toate fonturile de bază („core fonts”), punând astfel capăt unei perioade de confuzie obscură generată artificial și stupid de compania Adobe.
În privința denumirilor glifelor, există două abordări posibile: convenția universală de tip uniUUUU (unde UUUU este codul Unicode din planul de bază, în format hexazecimal), sau convenția clasică pe bază de nume (narativă) în baza vechilor specificații Adobe Glyph List (AGL):
Pentru cazul concret al caracterelor românești, situația glifelor asociate este în general limpede, mai puțin pentru caracterele Ţ/ţ/Ț/ț (toate, adică atât cele cu sedilă, cât și cele cu virgulă), deoarece varza aceea generată de divizia de tipografie a companiei Adobe – respectiv asocierea artificială și stupidă a unor glife care se cheamă „cumva cu virgulă dedesubt” la niște caractere care sunt „cumva cu sedilă dedesubt” – s-a propagat ani de zile până când a fost corectată de Microsoft cu ocazia lansării sistemului de operare Windows Vista.
Deoarece – acolo unde mai este cazul – corectarea acelei aberații și normalizarea situației trebuie realizată prin refacerea în mod corect a asocierilor sedilă-la-sedilă și virgulă-la-virgulă, glifele asociate caracterelor Ţ/ţ/Ț/ț (toate, adică atât cele cu sedilă, cât și cele cu virgulă) trebuie denumite conform convenției universale de tip uniUUUU, așa cum de altfel este prezentat și în tabelele de mai sus.
Aplicația FontLab (pentru Apple MacOS și/sau Microsoft Windows) poate afișa caracterele unui font pe grupe ale diverselor clasificări de codare, iar în cadrul unei anumite clasificări poate afișa asocierea denumirilor caracterelor cu codurile Unicode sau cu numele glifelor (precum și alte asocieri); datorită aspectului intuitiv al interfeței mă voi folosi de această aplicație pentru exemplificarea codării caracterelor specifice limbii române în cadrul unui font.
Notă: pentru această exemplificare este folosită versiunea FontLab 4.6 demo în varianta pentru Windows, pentru care am acceptul explicit al Fontlab Ltd.
Capturile prezentate mai jos evidențiază – cu culoarea verde – caracterele specifice limbii române. În mod implicit capturile afișează módul „Unicode Mode”; pentru a comuta capturile în módul „Names Mode” și a vedea asocierile cu numele glifelor, este suficient să treceți cu mausul peste imaginea respectivă; alternativ, un clic pe captură va deschide capturile corespunzătoare într-o fereastră separată de tip „pop-up”.
Notă: pentru comutarea vizualizării capturilor în módul „Names Mode” (adică módul de afișare al numelor glifelor) este folosit JavaScript; dacă nu reușiți să vedeți nicio mișcare, asigurați-vă că suportul pentru JavaScript este activat în browser.
Urmează aici la un moment dat: caracterele care trebuie să fie prezente într-un font, pentru utilizarea eficientă a unei tastaturi conform standardului românesc SR 13392:2005)
Urmează aici la un moment dat: fișiere de codare pentru aplicația FontLab, modul „Names Mode”, codările de pagină ISO 8859-2 Latin 2, ISO-8859-16 Latin 10, MacOS Romanian și MS Windows 1250 Central European)