aspose.info
LV

OTF — TrueType fonta faila formāts

Atjaunināts

Kas ir OTF fails?

Fails ar paplašinājumu .otf attiecas uz OpenType fonta formātu. OTF fontu formāts ir vairāk mērogojams un paplašina esošās TTF formātu funkcijas digitālajai tipogrāfijai. Microsoft un Adobe izstrādātais OTF apvieno PostScript un TrueType fontu formātu funkcijas. Tas padara OTF formātu, lai pielāgotos lielākajai daļai rakstīšanas sistēmu, un tāpēc tas tiek vienmērīgi izmantots lielākajās datoru platformās. OpenType fonta formātu atbalsta Mac OS X un Windows 2000 un jaunākas versijas.

Īsa vēsture

The requirement of OpenType fonts originated as a requirement for a more expressive font format that could handle fine typography. In addition, it was aimed to meet the requirements of complex behaviour of many of the world’s writing systems. Microsoft attempted to license Apple’s advanced typography technology, known as GX Typography, in the early 1990’s. This didn’t go well and as a result, Microsoft started enhancing its owns TrueType font technology in 1994. Modifikācijas ietvēra arī piemērotāku fonta formātu ieviešanu, kas atbilst arī Adobe Type 1 (PostScript) fontu formātu funkcijām.

Adobe 1996. gadā pievienojās Microsoft centieniem aizstāt gan Apple TrueType, gan savus Type 1 fontu formātus. Tā rezultātā tika apvienoti abi pamatā esošie fontu formāti, lai pārvarētu ierobežojumus un pievienotu jaunus paplašinājumus. Šī jaunā tehnoloģija tika ieviesta tajā pašā gadā ar nosaukumu OpenType.

OTF faila formāta specifikācijas

OTF specifications are available publicly by Microsoft and can be referred to from developer’s perspective. Like TTF, it uses the same ‘sfnt’ container structure and is compatible with the TrueType specifications. Data inside an OpenType font file is used for different purposes such as calculating the text layout, defining glyphs as TrueType or Compact Font Format (CFF) outlines, providing monochromatic or color bitmaps or SVG documents as alternate glyph descriptions, and meta-data information.

OTF datu tipi

OTF faili izmanto šādus datu tipus, kas visi ir Big Endian.

Datu tipsApraksts
uint88 bitu neparakstīts vesels skaitlis.
int88 bitu vesels skaitlis.
uint1616 bitu neparakstīts vesels skaitlis.
int1616 bitu vesels skaitlis.
uint2424 bitu neparakstīts vesels skaitlis.
uint3232 bitu neparakstīts vesels skaitlis.
int3232 bitu vesels skaitlis.
Fiksēts32 bitu zīme fiksēta punkta numurs (16.16)
FWORDint16, kas apraksta daudzumu fontu noformējuma vienībās.
UFWORDuint16, kas apraksta daudzumu fontu noformējuma vienībās.
F2DOT14Fiksēts skaitlis ar 16 bitu zīmi ar zemo 14 bitu daļu (2.14).
LONGDATETIMEDatums un laiks, kas attēlots sekunžu skaitā kopš 12:00 pusnakts, 1904. gada 1. janvāris, UTC. Vērtība tiek attēlota kā 64 bitu vesels skaitlis ar zīmi.
TagaČetru uint8 masīvs (garums = 32 biti), ko izmanto, lai identificētu tabulu, dizaina variantu asi, skriptu, valodas sistēmu, līdzekli vai bāzes līniju
Nobīde16Īsā nobīde pret tabulu, tāpat kā uint16, NULL nobīde = 0x0000
Nobīde32Garā nobīde pret tabulu, tāpat kā uint32, NULL nobīde = 0x00000000
Versija16Punkts1632 bitu vērtība ar galveno un mazāko versiju numuriem. (Skatiet tabulas versiju numurus.)

OTF tabulu direktorijs

OTF fails sākas ar tabulas direktoriju. Šis direktorijs ir augstākā līmeņa tabulu kolekcija fonta failā. Atkarībā no fontu skaita failā tabulas direktorijs var atrasties dažādās faila vietās. Piemēram, ja fonta failā ir tikai viens fonts, tabulas direktorijs sākas ar faila 0. baitu. Vairāku OpenType fontu kolekcijas gadījumā tabulas direktorija sākums ir norādīts TTCHader.

TipsVārdsApraksts
uint32sfntVersion0x00010000 vai 0x4F54544F (‘OTTO’)
uint16numTablesTabulu skaits.
uint16searchRangeMaximum power of 2 less than or equal to numTables, times 16 ((2**floor(log2(numTables))) * 16, kur **” ir eksponēšanas operators).
uint16entrySelector Log2 ar maksimālo jaudu 2, kas ir mazāka vai vienāda ar numTables (log2(searchRange/16), kas ir vienāds ar floor(log2(numTables))).
uint16rangeShiftnumTables times 16, minus searchRange ((numTables * 16) - meklēšanas diapazons).
tableRecordtableRecords[numTables]Tabulas ierakstu masīvs — viens katrai fonta augstākā līmeņa tabulai

Tabulas ieraksts

Katrai fonta augstākā līmeņa tabulai ir tabulas ieraksts, kas sastāv no šādiem laukiem.

TipsVārdsApraksts
TagatableTagTabulas identifikators.
uint32kontrolsummaKontrolsumma šai tabulai.
Nobīde32nobīdeNobīde no fonta faila sākuma.
uint32garums Šīs tabulas garums.

Katra OpenType fonta faila tabula ir attēlota ar nosaukumiem, kas pazīstami kā tabulas tagi. Ir obligāti, lai visi masīva ieraksti tiktu sakārtoti augošā secībā pēc atzīmes.

Atsauces

Skatīt arī