Metodă și date
Ce a fost măsurat, cum, cu ce instrumente și ce rămâne în afară.
Eșantionul
Cadrul de eșantionare are 82 de pagini de start, alese ca să acopere patru grupuri: administrația publică centrală împreună cu autoritățile autonome, instanțele și primăriile de municipiu; presa generalistă cu acoperire națională; redacțiile independente finanțate din donații și granturi; și un grup de control format din editori din afara României care publică în română. Lista completă, cu identificatorii folosiți în date, e în tools/targets.json.
Nu e un eșantion aleatoriu și nu pretinde reprezentativitate statistică pentru web-ul românesc. E un cadru construit ca să răspundă la o întrebare precisă: ce servesc instituțiile și publicațiile pe care un cetățean le deschide.
Numărătoarea
Din fiecare pagină am scos comentariile, scripturile, stilurile și marcajul, am rezolvat entitățile HTML și am numărat, în textul rămas, aparițiile celor opt caractere: Ș, ș, Ț, ț cu virgulă și Ş, ş, Ţ, ţ cu sedilă, plus formele descompuse cu semn combinabil. Am numărat separat ă, â și î, ca măsură a faptului că pagina scrie cu diacritice.
Fiecare pagină a fost cerută o singură dată și salvată comprimată, ca măsurătoarea să poată fi refăcută pe același text. Instrumentul e tools/audit.py.
Cele două instrumente
Douăzeci și cinci de site-uri au răspuns cererii simple cu o pagină de verificare a browserului, nu cu conținut. Pe acelea am rulat aceeași regulă de numărare în Chromium, pe arborele de document randat, parcurgând toate nodurile de text în afară de script, stil, noscript și template. Coloana de instrument din date spune, pentru fiecare rând, care măsurătoare a fost folosită.
Ca să văd dacă cele două instrumente dau același răspuns, am măsurat opt site-uri cu ambele. Proporțiile se suprapun: ANAF a dat 91 la 60 în amândouă, Ziarul Financiar 36 la 566 prin HTTP și 64 la 572 în browser, Senatul 972 la 91 și 1.179 la 93. Randarea aduce mai mult text, fiindcă încarcă și ce vine din JavaScript, și nu mută proporția.
Un singur site a dat răspunsuri diferite. Ministerul Afacerilor Interne a servit cererii simple un răspuns care nu era text UTF-8 valid și care conținea o singură sedilă; în browser, pagina reală are 363 de litere cu virgulă și 57 cu sedilă. Valoarea din browser e cea folosită.
Ce am scos din numărătoare
O sedilă e dovadă de caracter greșit numai dacă stă într-un cuvânt românesc. Pentru fiecare site am extras cuvintele care conțin sedilă, ordonate după frecvență, și le-am citit. Un singur cuvânt din tot eșantionul e legitim turcesc: numele Kurtulmuş, de două ori pe prima pagină a Senatului. Cele două apariții sunt scoase din totalul Senatului. Toate celelalte sunt cuvinte românești.
Șapte site-uri nu au produs nicio măsurătoare și nu intră în niciun total. Cinci nu au răspuns la nicio cerere, nici prin browser: Camera Deputaților, Înalta Curte de Casație și Justiție, Ministerul Justiției, Ministerul Dezvoltării și portalul legislativ. Registrul Comerțului a respins cererea prin filtrul propriu. Casa Jurnalistului nu își încarcă niciodată conținutul.
Bancul tipografic
Pentru 87 de familii am descărcat fișierul TrueType static pe care Google Fonts îl servește unui client vechi și, separat, subseturile woff2 latin și latin-ext pe care le servește unui browser curent. Din fiecare fișier am citit tabela de caractere, componentele din care e construită glifa, conturul ei și tabela de substituții.
Distanța dintre literă și semn se calculează din contururi: conturul care se termină cel mai jos e semnul, restul e litera, iar distanța e diferența dintre baza literei și vârful semnului, împărțită la pătratul literei și înmulțită cu o mie. Pentru localizarea românească nu m-am oprit la prezența funcției: am verificat, în fiecare font, că substituția leagă chiar glifa lui U+015F de glifa lui U+0219. Toate cele 70 de familii care declară funcția o fac corect. Instrumentul e tools/fonts.py.
Cele trei straturi
Comportamentul din secțiunea despre straturi a fost verificat în browser, nu citit din documentație. Egalitatea dintre șiruri, descompunerea canonică și cea de compatibilitate, comparația cu colaționare românească la sensibilitate de bază, de accent și de variantă, comparația cu colaționare turcească și potrivirea cu expresie regulată insensibilă la literă mare. Colaționarea românească dă zero, adică echivalență, la toate trei nivelurile de sensibilitate.
Ce nu acoperă
Măsurătoarea privește pagina de start, nu întregul site, și un singur moment, nu o serie. Nu spune nimic despre documentele publicate ca fișiere atașate, care sunt locul unde administrația își ține de fapt textele. Nu măsoară bazele de date din spate, unde efectul descris în ultima secțiune s-ar vedea direct, fiindcă nu sunt publice.
Fișierele de date sunt publicate așa cum au intrat în pagină: audit de caractere, banc tipografic, cronologie.
Datele
- sites.json · auditul de caractere, 75 de site-uri măsurate din 82 încercate
- fonts.json · bancul tipografic, 87 de familii
- timeline.json · cronologia, cu sursa fiecărei date