2010-04-29

Browsere Moderne II

În articolul Browsere Moderne am testat comportamentul browserelor Internet Explorer, Firefox, Chrome, Opera, Safari în privința randării textului folosind caractere (ș și ț cu virgulă) care nu se află în fonturile instalate în sistemul de operare (Windows XP).

Rezultatele nu au fost foarte bune, caracterele lipsă arată corespunzător dar nu se integrează cu restul textului.


În acest articol voi testa browserele folosind pagini web conținând fonturi stocate pe server (înglobate), fonturi care conțin caracterele ș și ț cu virgulă. Am ales familia de fonturi "DejaVu Sans" deoarece poate fi distribuită liber (familie de fonturi folosită pe sistemul de operare Linux, distribuită și în suita de software birotic "Open Office")

Un font poate fi înglobat într-o pagină web folosind directiva CSS @font-face. Toate browserele suportă fonturile în format „TrueType (.ttf)”, excepție făcând Internet Explorer care suportă formatul „Embedded OpenType (.eot)”. Am convertit fonturile din formatul „TrueType” la formatul „Embedded OpenType” folosind ttf2eot. Un exemplu de cum se folosește @font-face se găsește aici.

Paginile de web folosite la testarea browserelor sunt: pangrama (codată UTF-8), pangrama-latin10 (codată ISO-8859-16), respectiv versiunile pentru Internet Explorer: pangrama-ie și pangrama-ie-latin10

Rezultatele obținute pe sistemul de operare Windows XP SP2, fără fonturi actualizate, și fără a avea familia de fonturi „DejaVu Sans” instalată local în sistemul de operare sunt:
Resursele folosite pentru aceste teste se găsesc aici.

Toate browserele de mai sus afișează pagina codată UTF-8 perfect, pagina codată ISO-8859-16 este afișată incorect doar de către Internet Explorer.

Internet Explorer începând cu versiunea 7 suportă codarea ISO-8859-16, dar din păcate parțial. Am raportat problema la Microsoft #554861 - ISO-8859-16 codepage support.

Un dezavantaj al fonturilor incluse în pagina web poate fi mărimea lor (aproximativ 3 Mbytes), deoarece trebuie descărcate de pe server la accesare. Acest dezavantaj poate fi redus prin stocarea fonturilor, de către browser, pentru accesări ulterioare.

Am arătat că se pot afișa pagini web, care conțin diacriticele corecte, pe sistemul de operare Windows XP, singura condiție este ca utilizatorul să ruleze un browser care suportă directiva CSS @font-face. Aici găsiți o listă cu aceste browsere.

Actualizare Google a lansat serviciul Google Font Directory, serviciu care oferă fonturi pentru „toată lumea”. Tehnic @font-face este folosit, dar indirect, sub o formă care merge pe toate browserele.

Am făcut pagini de test pentru toate fonturile din Google Font Directory, din păcate foarte multe dintre ele au probleme cu diacriticele. Puteți vota pentru sugestia făcută de mine, poate Google va lua măsuri și va repara problema cu diacriticele.

2 comments:

Unknown said...

Interesant și util, dar greoi.

Există două „din păcate”:
1. Am impresia (?) că fonturile dinamice se încarcă degeaba și pe un sistem care nu ar avea nevoie de așa ceva (fie că are deja toate fonturile corecte, fie că folosește un browser capabil). Pentru prima situație, eu personal prefer să văd o pagină afișată cu un font gândit pentru pagini Web (cum este Verdana) decât să mi se bage pe gât un font de uz general (cum ar fi DejaVu).
2. Nu văd pe webmasterul unui sait comercial (să zicem) să țină morțiș să apară că vinde șurubelnițe, folosind caracterele corecte și fonturi dinamice.
3. Pe dispozitivele mobile, unde situația este în general mai proastă decât pe PC-uri, încărcarea unui font devine prohibitivă. Am încercat pe un Nokia E72 (Symbian) cu câteva variante:
- cu browserul implicit nu se încarcă nimic în plus, iar în loc de ș și ț apar găuri
- cu Opera Mobile (browser cu procesare pe telefon) se încarcă fonturile dinamice și probabil că în final ar fi afișat corect, dar după ce a început să descarce sute de megi n-am știut cum să-l opresc mai repede ca să nu încarc nota de plată a abonamentului
- cu Opera Mini (browser cu procesare pe serverele Opera) nu se încarcă nimic în plus, iar în loc de ș și ț apar găuri

Din ce știu eu asta cu fonturi dinamice are ca scop (sau a avut inițial) afișarea fidelă a unori pagini conform cu ideile artistice ale unui autor, în sensul unor fonturi caligrafice, pagini unde se pune accentul (și) pe aspectul artistic. De exemplu textul butoanelor să fie păstrate ca text și în același timp aspectul lor să fie în ton cu anumite titluri sau anteturi (care de obicei sunt imagini grafice scrise în Photoshop, GIMP, etc.). Numai că soluția oferită de Flash a cam pus pe linie moartă fonturile dinamice, cel puțin în sensul exprimat de mine aici cu impresia artistică.

Cristi

Unknown said...

[...] dar după ce a început să descarce sute de megi n-am știut cum să-l opresc mai repede [...]

Vroiam să spun „sute de kilo”, nu „sute de megi” (dar ideea rămâne).

Cristi