aspose.info
EL

TTF - Μορφή αρχείου γραμματοσειράς TrueType

Ενημερώθηκε

Τι είναι ένα αρχείο TTF;

Ένα αρχείο με επέκταση .ttf αντιπροσωπεύει αρχεία γραμματοσειρών που βασίζονται στην τεχνολογία γραμματοσειρών προδιαγραφών TrueType. Αρχικά σχεδιάστηκε και κυκλοφόρησε από την Apple Computer, Inc για Mac OS και αργότερα υιοθετήθηκε από τη Microsoft για Windows OS. Οι γραμματοσειρές TrueType παρέχουν την υψηλότερη ποιότητα εμφάνισης σε οθόνες υπολογιστών και εκτυπωτές χωρίς καμία εξάρτηση από την ανάλυση. Όλες οι σύγχρονες εφαρμογές που χρησιμοποιούν γραμματοσειρές μπορούν να λειτουργήσουν με αρχεία TTF. Τα αρχεία γραμματοσειρών TTF είναι ελεύθερα διαθέσιμα μέσω του Διαδικτύου και μπορούν επίσης να μετατραπούν σε άλλες μορφές αρχείων γραμματοσειράς όπως OTF και WOFF.

Σύντομη Ιστορία

Σχεδιασμένο από την Apply Computer, Inc τη δεκαετία του 1980 για MacOS, η μορφή γραμματοσειράς TTF είχε ως στόχο την επίλυση ορισμένων τεχνικών περιορισμών από τη μορφή τύπου 1 της Adobe. Η Apple συμπεριέλαβε υποστήριξη για γραμματοσειρές TrueType στο Mac το 1991. Ο σχεδιαστικός στόχος πίσω από τις γραμματοσειρές TTF ήταν η αποτελεσματικότητα στην αποθήκευση και την επεξεργασία και η επεκτασιμότητα. Με βάση αυτήν την επεκτασιμότητα, οι υπάρχουσες γραμματοσειρές μπορούν να μετατραπούν σε μορφή TrueType.

Η Microsoft χρησιμοποίησε για πρώτη φορά τις γραμματοσειρές TrueType στα Windows 3.1 τον Απρίλιο του 1992, αφού η Apple συμφώνησε να χορηγήσει άδεια χρήσης TrueType στη Microsoft. Βελτίωσε τον μηχανισμό ραστεροποίησης και βελτίωσε την αποτελεσματικότητα και την απόδοσή του.

Προδιαγραφές μορφής αρχείου True Type

Ένα αρχείο γραμματοσειράς TrueType είναι ένα δυαδικό αρχείο που αποτελείται από μια ακολουθία συνδυασμένων πινάκων. Κάθε πίνακας είναι μια ακολουθία λέξεων και έχει ένα όνομα γνωστό ως «Ετικέτα». Κάθε ετικέτα είναι τύπου δεδομένων uint32 και αποτελείται από τέσσερις χαρακτήρες. Ο πρώτος πίνακας στο αρχείο είναι ο κατάλογος γραμματοσειρών που δίνει πρόσβαση σε άλλους πίνακες στο αρχείο γραμματοσειρών. Τα δεδομένα γραμματοσειράς περιέχονται σε άλλους πίνακες που ακολουθούνται μετά τον πίνακα καταλόγου γραμματοσειρών. Δεδομένου ότι κάθε πίνακας είναι προσβάσιμος από την ετικέτα του, οι πίνακες μπορούν να εμφανίζονται με οποιαδήποτε σειρά στο αρχείο.

Οι απαιτούμενοι πίνακες και τα ονόματα των ετικετών τους εμφανίζονται στον παρακάτω πίνακα.

ΕτικέταΠίνακας
‘cmap’αντιστοίχιση χαρακτήρων σε γλυφή
‘γλυφ’δεδομένα γλυφών
‘κεφάλι’κεφαλίδα γραμματοσειράς
‘χαχα’οριζόντια κεφαλίδα
‘hmtx’οριζόντιες μετρήσεις
’loca'ευρετήριο με τοποθεσία
‘maxp’μέγιστο προφίλ
‘όνομα’ονοματοδοσία
‘ανάρτηση’PostScript

Τύποι δεδομένων

Οι γραμματοσειρές TrueType χρησιμοποιούν τους τυπικούς ακέραιους και πρόσθετους τύπους δεδομένων όπως αναφέρονται στον παρακάτω πίνακα.

Τύπος δεδομένωνΠεριγραφή
shortFrac16-bit υπογεγραμμένο κλάσμα
Διορθώθηκε16,16-bit υπογεγραμμένος αριθμός σταθερού σημείου
FWordΑκέραιος αριθμός 16-bit που περιγράφει μια ποσότητα σε FUnits, τη μικρότερη μετρήσιμη απόσταση στο χώρο em.
uFWordΑκέραιος ανυπόγραφος 16-bit που περιγράφει μια ποσότητα σε FUnits, τη μικρότερη μετρήσιμη απόσταση στο χώρο em.
F2Dot14Σταθερός αριθμός 16-bit με τα χαμηλά 14 bit να αντιπροσωπεύουν κλάσμα.
longDateTimeΗ μεγάλη εσωτερική μορφή μιας ημερομηνίας σε δευτερόλεπτα από τις 12:00 τα μεσάνυχτα, 1 Ιανουαρίου 1904. Αντιπροσωπεύεται ως υπογεγραμμένος ακέραιος αριθμός 64 bit.

Κατάλογος γραμματοσειρών

Ο πρώτος πίνακας στη γραμματοσειρά TrueType είναι ο κατάλογος γραμματοσειρών που παρέχει πρόσβαση στις πληροφορίες που απαιτούνται για την πρόσβαση σε δεδομένα σε άλλους πίνακες. Αποτελείται περαιτέρω από:

  • «Υποπίνακας offset» - διατηρεί αρχείο των πινάκων στη γραμματοσειρά και παρέχει πληροφορίες μετατόπισης για πρόσβαση σε κάθε πίνακα στον κατάλογο
  • «Κατάλογος πίνακα» - Περιέχει καταχωρήσεις για κάθε πίνακα στη γραμματοσειρά

Υποπίνακας μετατόπισης

Ο υποπίνακας offset φαίνεται παρακάτω.

ΤύποςΌνομαΠεριγραφή
uint32τύπος κλιμάκωσηςΜια ετικέτα που υποδεικνύει τον ρυθμιστή OFA που θα χρησιμοποιηθεί για την ραστεροποίηση αυτής της γραμματοσειράς. δείτε τη σημείωση για τον τύπο κλιμάκωσης παρακάτω για περισσότερες πληροφορίες.
ενότητα16numTablesαριθμός πινάκων
ενότητα16Εύρος αναζήτησης(μέγιστη ισχύς 2 <= numTables)*16
ενότητα16είσοδοςΕπιλογέαςlog2(μέγιστη ισχύς 2 <= numTables)
ενότητα16rangeShiftnumTables*16-searchRange

Κατάλογος πίνακα

Ο κατάλογος του πίνακα έρχεται αμέσως μετά τον υποπίνακα μετατόπισης. Η δομή του είναι όπως φαίνεται στον παρακάτω πίνακα.

ΤύποςΌνομαΠεριγραφή
uint32ετικέταΑναγνωριστικό 4 byte
uint32checkSumάθροισμα ελέγχου για αυτόν τον πίνακα
uint32αντιστάθμισημετατόπιση από την αρχή του sfnt
uint32μήκοςμήκος αυτού του πίνακα σε byte (το πραγματικό μήκος δεν έχει συμπληρωθεί το μήκος)

Κάθε πίνακας σε ένα αρχείο γραμματοσειράς πρέπει να έχει τη δική του καταχώρηση καταλόγου πίνακα. Οι εγγραφές σε έναν πίνακα πρέπει να ταξινομηθούν σε αύξουσα σειρά ανά ετικέτα.

βιβλιογραφικές αναφορές

Δείτε επίσης