aspose.info
SV

TTF - TrueType Font File Format

Uppdaterad

Vad är TTF fil?

En fil med filtillägget .ttf representerar teckensnittsfiler baserade på TrueType-specifikationens teckensnittsteknik. Det designades och lanserades från början av Apple Computer, Inc för Mac OS och antogs senare av Microsoft för Windows OS. TrueType-teckensnitt ger visning av högsta kvalitet på datorskärmar och skrivare utan något beroende av upplösning. Alla moderna applikationer som använder typsnitt kan arbeta med TTF-filer. TTF-teckensnittsfiler är fritt tillgängliga över internet och kan även konverteras till andra typsnittsfilformat som OTF och WOFF.

Kortfattad bakgrund

TTF-teckensnittsformatet designades av Apply Computer, Inc på 1980-talet för MacOS och syftade till att lösa vissa tekniska begränsningar av Adobes typ 1-format. Apple inkluderade stöd för TrueType-teckensnitt i Mac 1991. Designmålet bakom TTF-teckensnitt var effektivitet i lagring och bearbetning samt utbyggbarhet. Baserat på denna utökningsmöjlighet kan befintliga teckensnitt konverteras till TrueType-format.

Microsoft använde först TrueType-teckensnitten i Windows 3.1 i april 1992 efter att Apple gick med på att licensiera TrueType till Microsoft. Det förbättrade rastreringsmekanismen och förbättrade dess effektivitet och prestanda.

True Type filformatspecifikationer

En TrueType-teckensnittsfil är en binär fil som består av en sekvens av sammanlänkade tabeller. Varje tabell är en sekvens av ord och har ett namn som kallas “Tag”. Varje tagg är av datatypen uint32 och består av fyra tecken. Den första tabellen i filen är teckensnittskatalog som ger tillgång till andra tabeller i teckensnittsfilen. Teckensnittsdata finns i andra tabeller följt efter teckensnittskatalogtabellen. Eftersom varje tabell är tillgänglig med sin tagg, kan tabellerna visas i valfri ordning i filen.

De obligatoriska tabellerna och deras taggnamn visas i följande tabell.

TaggTabell
‘cmap’tecken till glyph mappning
‘glyf’glyph data
‘huvud’teckensnittshuvud
‘hhea’horisontell rubrik
‘hmtx’horisontella mått
’loca'indexera till plats
‘maxp’maximal profil
’namn'namnge
‘post’PostScript

Datatyper

TrueType-teckensnitt använder standard heltal och ytterligare datatyper som anges i följande tabell.

DatatypBeskrivning
shortFrac16-bitars signerad bråkdel
Fastad16,16-bitars signerat fastpunktsnummer
FWord16-bitars heltal med tecken som beskriver en kvantitet i FUnits, det minsta mätbara avståndet i em space.
uFWord16-bitars heltal utan tecken som beskriver en kvantitet i FUnits, det minsta mätbara avståndet i em space.
F2Punkt1416-bitars signerat fast nummer med de låga 14 bitarna som representerar bråk.
longDateTimeDet långa interna formatet för ett datum i sekunder sedan 12:00 midnatt, 1 januari 1904. Det representeras som ett signerat 64-bitars heltal.

Teckensnittskatalog

Den första tabellen i TrueType-teckensnittet är teckensnittskatalogen som ger åtkomst till den information som krävs för att komma åt data i andra tabeller. Den består vidare av:

  • Offset subtable - håller register över tabellerna i typsnittet och tillhandahåller offsetinformation för att komma åt varje tabell i katalogen
  • Tabell Directory - Innehåller poster för varje tabell i typsnittet

Offset SubTable

Offset-undertabellen visas nedan.

TypNamnBeskrivning
uint32scaler typEn tagg för att indikera den OFA-skalare som ska användas för att rastrera detta teckensnitt; se anteckningen om scaler-typen nedan för mer information.
uint16numTablesantal bord
uint16sökintervall(maximal potens av 2 <= numTables)*16
uint16entrySelectorlog2(maximal potens av 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Tabellkatalog

Tabellkatalogen kommer direkt efter offset-undertabellen. Dess struktur är som visas i följande tabell.

TypNamnBeskrivning
uint32tagg4-byte identifierare
uint32kontrollsummakontrollsumma för denna tabell
uint32offsetoffset från början av sfnt
uint32längdlängden på denna tabell i byte (faktisk längd inte vadderad längd)

Varje tabell i en teckensnittsfil måste ha sin egen tabellkatalogpost. Poster i en tabell måste sorteras i stigande ordning efter tagg.

Referenser

Se även