Mi az a TTF fájl?
A .ttf kiterjesztésű fájl a TrueType specifikációjú betűtípus-technológián alapuló betűtípus-fájlokat képvisel. Eredetileg az Apple Computer, Inc tervezte és dobta piacra Mac OS-hez, majd később a Microsoft is átvette a Windows operációs rendszerhez. A TrueType betűtípusok a legjobb minőségű megjelenítést biztosítják a számítógép képernyőjén és a nyomtatókon anélkül, hogy a felbontástól függnének. Minden modern, betűtípust használó alkalmazás képes TTF fájlokkal dolgozni. A TTF-betűkészlet-fájlok szabadon elérhetők az interneten, és más betűtípus-fájlformátumokká is konvertálhatók, például OTF és WOFF.
Rövid története
Az Apply Computer, Inc. által az 1980-as években MacOS rendszerre tervezett TTF betűformátumot az Adobe Type 1 formátum néhány technikai korlátja volt. Az Apple 1991-ben támogatta a TrueType betűtípusokat Mac rendszerben. A TTF betűtípusok mögött meghúzódó tervezési cél a tárolás és a feldolgozás hatékonysága, valamint a bővíthetőség volt. E bővíthetőség alapján a meglévő betűtípusok átalakíthatók TrueType formátumba.
A Microsoft először 1992 áprilisában használta a TrueType betűtípusokat a Windows 3.1-ben, miután az Apple beleegyezett a TrueType licencébe a Microsoft számára. Javította a raszterezési mechanizmust, javította a hatékonyságát és teljesítményét.
A True Type fájlformátum specifikációi
A TrueType betűtípusfájl egy bináris fájl, amely összefűzött táblák sorozatából áll. Minden táblázat egy szósorozat, és van egy neve, mint “Címke”. Minden címke uint32 adattípusú, és négy karakterből áll. A fájl első táblázata a font könyvtár, amely hozzáférést biztosít a betűtípusfájl többi táblájához. A betűtípusadatokat a betűtípuskönyvtár-tábla után következő táblázatok tartalmazzák. Mivel minden tábla elérhető a címkéjével, a táblázatok bármilyen sorrendben megjelenhetnek a fájlban.
A szükséges táblák és címkeneveik a következő táblázatban láthatók.
| Címke | Táblázat | 
|---|---|
| ‘cmap’ | karakter-jelkép leképezés | 
| ‘glyf’ | glyph data | 
| ‘fej’ | betűtípus fejléc | 
| ‘hhea’ | vízszintes fejléc | 
| ‘hmtx’ | vízszintes mérőszámok | 
| ’loca' | index a helyre | 
| ‘maxp’ | maximális profil | 
| ’név' | névadás | 
| ‘post’ | PostScript | 
Adattípusok
A TrueType betűtípusok az alábbi táblázatban felsorolt szabványos egész számokat és további adattípusokat használják.
| Adattípus | Leírás | 
|---|---|
| shortFrac | 16 bites előjeles tört | 
| Rögzített | 16,16 bites előjeles fixpontos szám | 
| FWord | 16 bites előjelű egész szám, amely egy mennyiséget ír le FU-egységben, a legkisebb mérhető távolság em térben. | 
| uFWord | 16 bites előjel nélküli egész szám, amely egy mennyiséget ír le FU-egységben, a legkisebb mérhető távolság em térben. | 
| F2Dot14 | 16 bites előjelű fix szám, az alacsony 14 bit pedig törtet jelent. | 
| longDateTime | Egy dátum hosszú belső formátuma másodpercekben 1904. január 1., 12:00 éjfél óta. Előjeles, 64 bites egész számként jelenik meg. | 
Betűtípuskönyvtár
A TrueType betűtípus első táblája az a betűtípus-könyvtár, amely hozzáférést biztosít a más táblákban lévő adatok eléréséhez szükséges információkhoz. A következőkből áll továbbá:
- Eltolási altábla- rögzíti a betűtípusban lévő táblázatokat, és eltolási információkat biztosít a könyvtár minden táblájának eléréséhez
- “Táblázatkönyvtár” - A betűtípus minden táblájához bejegyzést tartalmaz
Eltolás résztáblázat
Az eltolási résztáblázat az alábbiakban látható.
| Típus | Név | Leírás | 
|---|---|---|
| uint32 | pikkelyes típus | A betűtípus raszterezéséhez használandó OFA-skálázót jelző címke; további információért lásd az alábbi megjegyzést a skálázó típusáról. | 
| uint16 | numTables | táblázatok száma | 
| uint16 | keresésTartomány | (2 maximális teljesítménye <= numTables)*16 | 
| uint16 | entrySelector | log2(maximális hatványa 2 <= numTables) | 
| uint16 | rangeShift | numTables*16-searchRange | 
Táblázatkönyvtár
A táblakönyvtár közvetlenül az eltolási altábla után található. Szerkezete a következő táblázatban látható.
| Típus | Név | Leírás | 
|---|---|---|
| uint32 | tag | 4 bájtos azonosító | 
| uint32 | checkSum | ellenőrző összeg ehhez a táblázathoz | 
| uint32 | eltolás | eltolás az sfnt | 
| uint32 | hossza | ennek a táblázatnak a hossza bájtban (tényleges hossz nem kitöltött hossz) | 
A betűtípusfájl minden táblájának saját táblakönyvtár-bejegyzéssel kell rendelkeznie. A táblázat bejegyzéseit címkék szerint növekvő sorrendbe kell rendezni.