aspose.info
RO

TTF – Format de fișier cu font TrueType

Actualizat

Ce este un fișier TTF?

Un fișier cu extensia .ttf reprezintă fișiere cu fonturi bazate pe tehnologia de fonturi cu specificațiile TrueType. A fost proiectat și lansat inițial de Apple Computer, Inc pentru Mac OS și a fost ulterior adoptat de Microsoft pentru Windows OS. Fonturile TrueType oferă afișare de cea mai înaltă calitate pe ecranele computerelor și imprimantelor fără nicio dependență de rezoluție. Toate aplicațiile moderne care folosesc fonturi pot funcționa cu fișiere TTF. Fișierele cu fonturi TTF sunt disponibile gratuit pe internet și pot fi, de asemenea, convertite în alte formate de fișiere cu fonturi, cum ar fi OTF și WOFF.

Scurt istoric

Proiectat de Apply Computer, Inc în anii 1980 pentru MacOS, formatul de font TTF a avut ca scop rezolvarea unor limitări tehnice ale formatului Adobe Type 1. Apple a inclus suport pentru fonturile TrueType în Mac în 1991. Obiectivul de design din spatele fonturilor TTF a fost eficiența în stocare și procesare și extensibilitate. Pe baza acestei extensibilități, fonturile existente pot fi convertite în format TrueType.

Microsoft a folosit pentru prima dată fonturile TrueType în Windows 3.1 în aprilie 1992, după ce Apple a fost de acord să licențieze TrueType către Microsoft. A îmbunătățit mecanismul de rasterizare și a îmbunătățit eficiența și performanța acestuia.

Specificații de format de fișier True Type

Un fișier cu font TrueType este un fișier binar care constă dintr-o secvență de tabele concatenate. Fiecare tabel este o secvență de cuvinte și are un nume cunoscut sub numele de „Tag”. Fiecare etichetă este de tip de date uint32 și constă din patru caractere. Primul tabel din fișier este directorul de fonturi care oferă acces la alte tabele din fișierul de font. Datele fonturilor sunt conținute în alte tabele urmate după tabelul directorului de fonturi. Deoarece fiecare tabel este accesibil prin eticheta sa, tabelele pot apărea în orice ordine în fișier.

Tabelele necesare și numele etichetelor lor sunt prezentate în tabelul următor.

TagTabel
‘cmap’mapare caracter la glif
‘glyf’date glif
‘cap’antet font
‘hhea’antet orizontal
‘hmtx’metrici orizontale
’loca'index la locație
‘maxp’profil maxim
’nume'denumire
‘post’PostScript

Tipuri de date

Fonturile TrueType folosesc numere întregi standard și tipuri de date suplimentare, așa cum sunt enumerate în tabelul următor.

Tipul de dateDescriere
scurtFracfracție semnată pe 16 biți
FixatNumăr cu virgulă fixă semnat pe 16,16 biți
FWordNumăr întreg cu semn de 16 biți care descrie o cantitate în FUnits, cea mai mică distanță măsurabilă în spațiul em.
uFWordNumăr întreg fără semn pe 16 biți care descrie o cantitate în FUnits, cea mai mică distanță măsurabilă în spațiul em.
F2Dot14Număr fix semnat pe 16 biți, cu cei 14 biți mici reprezentând fracția.
longDateTimeFormatul intern lung al unei date, în secunde, de la 12:00 miezul nopții, 1 ianuarie 1904. Este reprezentat ca un întreg semnat de 64 de biți.

Director de fonturi

Primul tabel din fontul TrueType este directorul de fonturi care oferă acces la informațiile necesare pentru accesarea datelor din alte tabele. Mai constă în:

  • Offset subtable - păstrează evidența tabelelor în font și oferă informații despre offset pentru a accesa fiecare tabel din director
  • Director tabel - Conține intrări pentru fiecare tabel în font

Subtabel de compensare

Subtabelul offset este prezentat mai jos.

TipNumeDescriere
uint32tip scalerO etichetă pentru a indica scalatorul OFA care va fi utilizat pentru a rasteriza acest font; consultați nota de mai jos despre tipul scalerului pentru mai multe informații.
uint16numTablesnumărul de mese
uint16interval de căutare(putere maximă de 2 <= numTables)*16
uint16entrySelectorlog2(putere maximă de 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Director tabel

Directorul tabelului vine imediat după subtabelul offset. Structura sa este cea prezentată în tabelul următor.

TipNumeDescriere
uint32etichetăidentificator de 4 octeți
uint32checkSumsumă de control pentru acest tabel
uint32offsetoffset de la începutul sfnt
uint32lungimelungimea acestui tabel în octeți (lungimea reală nu lungimea completată)

Fiecare tabel dintr-un fișier cu fonturi trebuie să aibă propria sa intrare în directorul tabelului. Intrările dintr-un tabel trebuie sortate în ordine crescătoare după etichetă.

Referințe

Vezi și