aspose.info
IT

TTF - Formato file font TrueType

Aggiornato

Che cos’è un file TTF?

Un file con estensione .ttf rappresenta i file dei caratteri basati sulla tecnologia dei caratteri delle specifiche TrueType. Inizialmente è stato progettato e lanciato da Apple Computer, Inc per Mac OS e successivamente è stato adottato da Microsoft per Windows OS. I font TrueType forniscono la massima qualità di visualizzazione su schermi di computer e stampanti senza alcuna dipendenza dalla risoluzione. Tutte le moderne applicazioni che utilizzano i caratteri sono in grado di funzionare con i file TTF. I file di font TTF sono disponibili gratuitamente su Internet e possono anche essere convertiti in altri formati di file di font come OTF e WOFF.

Breve storia

Progettato da Apply Computer, Inc negli anni ‘80 per MacOS, il formato del carattere TTF mirava a risolvere alcune limitazioni tecniche del formato Type 1 di Adobe. Apple ha incluso il supporto per i caratteri TrueType in Mac nel 1991. L’obiettivo di progettazione dietro i caratteri TTF era l’efficienza nell’archiviazione, nell’elaborazione e nell’estendibilità. Sulla base di questa estensibilità, i caratteri esistenti possono essere convertiti nel formato TrueType.

Microsoft ha utilizzato per la prima volta i caratteri TrueType in Windows 3.1 nell’aprile 1992 dopo che Apple ha accettato di concedere in licenza TrueType a Microsoft. Ha migliorato il meccanismo di rasterizzazione e ne ha migliorato l’efficienza e le prestazioni.

Specifiche del formato file True Type

Un file di font TrueType è un file binario costituito da una sequenza di tabelle concatenate. Ogni tabella è una sequenza di parole e ha un nome noto come ‘Tag’. Ciascun tag è di tipo dati uint32 ed è composto da quattro caratteri. La prima tabella nel file è la directory dei font che dà accesso ad altre tabelle nel file dei font. I dati dei caratteri sono contenuti in altre tabelle seguite dalla tabella della directory dei caratteri. Poiché ogni tabella è accessibile tramite il relativo tag, le tabelle possono essere visualizzate in qualsiasi ordine nel file.

Le tabelle richieste e i relativi nomi di tag sono mostrati nella tabella seguente.

TagTabella
‘cmap’mappatura da carattere a glifo
‘glifo’dati glifo
’testa’intestazione del carattere
’eh’intestazione orizzontale
‘hmtx’metrica orizzontale
’località'indice alla posizione
‘maxp’profilo massimo
’nome'denominazione
‘posta’PostScript

Tipi di dati

I caratteri TrueType utilizzano il numero intero standard e tipi di dati aggiuntivi come elencato nella tabella seguente.

Tipo di datiDescrizione
breve FracFrazione con segno a 16 bit
RisoltoNumero in virgola fissa con segno a 16,16 bit
FWordIntero con segno a 16 bit che descrive una quantità in FUnits, la più piccola distanza misurabile nello spazio em.
uFWordIntero senza segno a 16 bit che descrive una quantità in FUnits, la più piccola distanza misurabile nello spazio em.
F2Punto14Numero fisso con segno a 16 bit con i 14 bit bassi che rappresentano la frazione.
longDateTimeIl formato interno lungo di una data in secondi dalla mezzanotte 12:00 del 1 gennaio 1904. È rappresentato come un intero a 64 bit con segno.

Directory dei caratteri

La prima tabella nel font TrueType è la directory dei font che fornisce l’accesso alle informazioni necessarie per accedere ai dati in altre tabelle. Si compone inoltre di:

  • Sottotabella offset - tiene traccia delle tabelle nel carattere e fornisce informazioni sull’offset per accedere a ciascuna tabella nella directory
  • Table Directory - Contiene voci per ogni tabella nel carattere

Sottotabella offset

La sottotabella offset è mostrata di seguito.

TipoNomeDescrizione
uint32tipo ablatoreUn tag per indicare lo scaler OFA da utilizzare per rasterizzare questo font; per ulteriori informazioni, vedere la nota sul tipo di ablatore di seguito.
uint16numTabellenumero di tabelle
uint16intervallo di ricerca(potenza massima di 2 <= numTables)*16
uint16Selettore vocilog2(potenza massima di 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Directory della tabella

La directory della tabella arriva subito dopo la sottotabella offset. La sua struttura è quella mostrata nella tabella seguente.

TipoNomeDescrizione
uint32etichettaIdentificatore a 4 byte
uint32checksumchecksum per questa tabella
uint32sfalsareoffset dall’inizio di sfnt
uint32lunghezzalunghezza di questa tabella in byte (lunghezza effettiva non lunghezza imbottita)

Ciascuna tabella in un file di font deve avere la propria voce di directory della tabella. Le voci in una tabella devono essere ordinate in ordine crescente per tag.

Riferimenti

Vedi anche