Τι είναι ένα αρχείο TTC;
Το TTC συντομεύεται ως TrueType Collection είναι μια επέκταση της μορφής True Type. Ένα αρχείο TTC μπορεί να συνδυάσει τα πολλαπλά αρχεία γραμματοσειράς σε αυτό. Αυτά τα αρχεία είναι ωφέλιμα για το συνδυασμό πολλών γραμματοσειρών που μοιράζονται πολλά κοινά γλυφά. Πριν από τα Windows 2000, τα αρχεία TTC χρησιμοποιούνταν σε κινεζικές, ιαπωνικές και κορεατικές εκδόσεις των Windows, αλλά αργότερα η υποστήριξη ήταν διαθέσιμη για όλες τις περιοχές.
Η δομή του αρχείου συλλογής γραμματοσειρών
Ένα αρχείο TTC αποτελείται από έναν πίνακα κεφαλίδας TTC, καταλόγους πινάκων και πολλούς πίνακες OpenType. Η κεφαλίδα TTC πρέπει να βρίσκεται στην αρχή του αρχείου. Πρέπει να υπάρχει ένας πλήρης κατάλογος πίνακα για κάθε γραμματοσειρά. Η μορφή TableDirectory θα πρέπει να είναι παρόμοια με αυτήν που υπήρχε σε ένα αρχείο μη συλλογής. Οι μετρήσεις πινάκων σε όλους τους καταλόγους μέσα σε ένα αρχείο TTC υπολογίζονται από την αρχή ενός αρχείου TTC. Οι πίνακες σε ένα αρχείο TTC αναφέρονται μέσω του καταλόγου πινάκων των αντίστοιχων γραμματοσειρών τους. Μερικοί από τους πίνακες OpenType πρέπει να εμφανίζονται πολλές φορές, μία φορά για κάθε γραμματοσειρά που προστίθεται στο TTC. Ενώ οι άλλοι πίνακες μπορεί να είναι κοινόχρηστοι με πολλές γραμματοσειρές στο αρχείο TTC.
Κεφαλίδα TTC
Δύο εκδόσεις του πίνακα TTC Header είναι διαθέσιμες μέχρι στιγμής:
- Η έκδοση 1.0 χρησιμοποιείται για αρχεία TTC χωρίς ψηφιακές υπογραφές.
- Η έκδοση 2.0 μπορεί να χρησιμοποιηθεί για αρχεία TTC με ή χωρίς ψηφιακές υπογραφές. Ακολουθούν οι πίνακες TTC Header και των δύο εκδόσεων:
TTC Header Έκδοση 1.0:
Τύπος | Όνομα | Περιγραφή |
---|---|---|
TAG | ttcTag | Συμβολοσειρά αναγνωριστικού συλλογής γραμματοσειρών: ’ttcf’ (χρησιμοποιείται για γραμματοσειρές με περιγράμματα CFF ή CFF2 καθώς και περιγράμματα TrueType) |
uint16 | majorVersion | Κύρια έκδοση της κεφαλίδας TTC, = 1. |
uint16 | minorVersion | Μικρή έκδοση της κεφαλίδας TTC, = 0. |
uint32 | numFonts | Αριθμός γραμματοσειρών στο TTC |
Offset32 | tableDirectoryOffsets[numFonts] | Πίνακας μετατοπίσεων στον TableDirectory για κάθε γραμματοσειρά από την αρχή του αρχείου |
TTC Header Έκδοση 2.0:
Τύπος | Όνομα | Περιγραφή |
---|---|---|
TAG | ttcTag | Συμβολοσειρά αναγνωριστικού συλλογής γραμματοσειρών: ’ttcf' |
ενότητα16 | majorVersion | Κύρια έκδοση της κεφαλίδας TTC, = 2. |
ενότητα16 | minorVersion | Μικρή έκδοση της κεφαλίδας TTC, = 0. |
uint32 | numFonts | Αριθμός γραμματοσειρών σε TTC |
Offset32 | tableDirectoryOffsets[numFonts] | Πίνακας μετατοπίσεων στον TableDirectory για κάθε γραμματοσειρά από την αρχή του αρχείου |
uint32 | dsigTag | Ετικέτα που υποδεικνύει ότι υπάρχει πίνακας DSIG, 0x44534947 (‘DSIG’) (μηδενική αν δεν υπάρχει υπογραφή) |
uint32 | dsigLength | Το μήκος (σε byte) του πίνακα DSIG (μηδενικό αν δεν υπάρχει υπογραφή) |
uint32 | dsigOffset | Η μετατόπιση (σε byte) του πίνακα DSIG από την αρχή του αρχείου TTC (μηδενική αν δεν υπάρχει υπογραφή) |