După un an de dezvoltare, a fost lansată versiunea FreeType 2.15.0, un motor modular de fonturi care furnizează o API unitară pentru unificarea procesării și afișării datelor de font în diverse formate vectoriale și raster. Codul proiectului este scris în limbajul C și este distribuit sub o licență de tip BSD.
Printre modificări:
- A fost adăugată suportul pentru a cincea ediție a formatului de fonturi ISO Open Font (ISO/IEC 14496-22:2026), portat cu ajutorul AI din biblioteca de compunere a glifelor HarfBuzz și alte implementări. Spre deosebire de a patra ediție, lansată în 2019, noua variantă a formatului Open Font permite plasarea a mai mult de 65536 de glife; a fost adăugată o tabelă „GLYF” pentru contururi care combină segmente cubice și conice; a fost propusă o variantă mai compactă a tabelei „VARC”, care reduce cu 90% dimensiunea fonturilor variabile cu hieroglife.
- În rasterizatorul care asigură antialiasing, prin alocarea dinamică de memorie pentru glife mari, s-a îmbunătățit semnificativ performanța redării glifelor mai mari de 40 ppem.
- A fost adăugat un driver experimenta pentru fonturile HVF (Hierarchical Variation Font), furnizat de Apple și care funcționează deocamdată doar în macOS.
- În interpretatorul formatului TrueType a fost extins suportul pentru tehnologia de antialiasing a textului ClearType, care a îmbunătățit calitatea redării unor fonturi precum ‘Comic Sans MS’, ‘Segoe UI’, ‘Calibri’, ‘Corbel’, ‘Constantia’, ‘Malgun Gothic’ și ‘SimSun’. S-au utilizat date din tabelul gasp (Grid-fitting and Scan-conversion Procedure) pentru antialiasing și alinierea pe rețeaua de pixeli, s-a îmbunătățit simularea hatchingului orizontal ClearType, s-au îmbunătățit procesarea instrucțiunilor de rotunjire a glifelor (ROUND) și aplicarea valorilor de control (CVT - Control Value Table).
- A fost adăugat un port pentru sistemul de operare Plan 9.
- Au fost eliminate vulnerabilitățile: CVE-2026-95512 - epuizarea memoriei și o sarcină mare pe CPU la procesarea fonturilor special concepute în format CID; CVE-2026-50811 - citirea din zona din afara buffer-ului la utilizarea funcțiilor TT_Get_Var_Design și T_Get_Var_Design_Coordinates; CVE-2026-27171 - o vulnerabilitate din codul încorporat vechi din zlib, care duce la blocări.
Sursa: opennet.ro
