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.