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ă:

  1. codurile caracterelor specific românești și denumirile glifelor asociate lor
  2. exemplificare folosind aplicația FontLab
  3. codurile caracterelor adiționale și denumirile glifelor asociate lor
  4. fișiere de codare din FontLab

(i) Codurile caracterelor specific românești și denumirile glifelor asociate lor

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):

  • convenția universală de tip uniUUUU este „neutră”; pentru cazul alfabetului latin se aliniază tendinței firești de a asocia unui caracter latin o glifă similară cu descrierea abstractă a caracterului
  • dezvoltarea convenției clasice pe bază de nume pare a fi abandonată, asta judecând după faptul că la un moment dat a fost trecută la categoria arhive (ulterior și asta abandonată), iar cândva prin anul 2015 Adobe a migrat pe GitHub atât listele AGL, cât și specificațiile 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.


(ii) Exemplificare folosind aplicația FontLab

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.

captură FontLab - C1 Controls and Latin-1 Supplement
Exemplul 1: amplasarea caracterelor românești Â/â și Î/î în cadrul subsetului Unicode C1 Controls and Latin-1 Supplement
Captură FontLab - Latin Extended-A
Exemplul 2: amplasarea caracterelor românești Ă/ă în cadrul subsetului Unicode Latin Extended-A; caracterele Ş/ş și Ţ/ţ cu sedilă sunt prezente exclusiv din motive de compatibilitate cu sistemul de operare Microsoft Windows (toate versiunile până la Windows XP inclusiv)
Captură FontLab - Latin Extended-B
Exemplul 3: amplasarea caracterelor românești Ș/ș și Ț/ț în cadrul subsetului Unicode Latin Extended-B

(iii) Codurile caracterelor adiționale și denumirile glifelor asociate lor

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)

În construcție


(iv) Fișiere de codare din FontLab

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)

În construcție

Sus de tot