aspose.info
EL

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

Ενημερώθηκε

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

Ένα αρχείο με επέκταση .otf αναφέρεται σε μορφή γραμματοσειράς OpenType. Η μορφή γραμματοσειράς OTF είναι πιο επεκτάσιμη και επεκτείνει τις υπάρχουσες δυνατότητες των μορφών TTF για ψηφιακή τυπογραφία. Αναπτύχθηκε από τη Microsoft και την Adobe, το OTF συνδυάζει τις δυνατότητες των μορφών γραμματοσειράς PostScript και TrueType. Αυτό κάνει τη μορφή OTF να δέχεται τα περισσότερα συστήματα γραφής και αυτός είναι ο λόγος που χρησιμοποιείται ομοιόμορφα σε μεγάλες πλατφόρμες υπολογιστών. Η μορφή γραμματοσειράς OpenType υποστηρίζεται από Mac OS X και Windows 2000 και νεότερες εκδόσεις.

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

Η απαίτηση των γραμματοσειρών OpenType προέκυψε ως απαίτηση για μια πιο εκφραστική μορφή γραμματοσειράς που θα μπορούσε να χειριστεί τη λεπτή τυπογραφία. Επιπλέον, είχε στόχο να ανταποκριθεί στις απαιτήσεις περίπλοκης συμπεριφοράς πολλών από τα συστήματα γραφής του κόσμου. Η Microsoft προσπάθησε να αδειοδοτήσει την προηγμένη τεχνολογία τυπογραφίας της Apple, γνωστή ως GX Typography, στις αρχές της δεκαετίας του 1990. Αυτό δεν πήγε καλά και ως αποτέλεσμα, η Microsoft άρχισε να βελτιώνει τη δική της τεχνολογία γραμματοσειρών TrueType το 1994. Οι τροποποιήσεις περιελάμβαναν επίσης μια πιο κατάλληλη μορφή γραμματοσειράς που πληροί επίσης τις δυνατότητες των μορφών γραμματοσειράς τύπου 1 (PostScript) της Adobe.

Η Adobe, το 1996, προσχώρησε στη Microsoft στις προσπάθειές της να αντικαταστήσει τόσο τις μορφές γραμματοσειράς TrueType της Apple όσο και τις δικές της μορφές γραμματοσειράς Τύπου 1. Αυτό είχε ως αποτέλεσμα τον συνδυασμό και των δύο υποκείμενων μορφών γραμματοσειράς για την υπέρβαση των περιορισμών και την προσθήκη νέων επεκτάσεων. Αυτή η νέα τεχνολογία παρουσιάστηκε την ίδια χρονιά με το όνομα OpenType.

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

Οι προδιαγραφές OTF είναι διαθέσιμες δημόσια από τη Microsoft και μπορούν να αναφέρονται από την πλευρά του προγραμματιστή. Όπως και το TTF, χρησιμοποιεί την ίδια δομή κοντέινερ «sfnt» και είναι συμβατό με τις προδιαγραφές TrueType. Τα δεδομένα μέσα σε ένα αρχείο γραμματοσειράς OpenType χρησιμοποιούνται για διαφορετικούς σκοπούς, όπως ο υπολογισμός της διάταξης κειμένου, ο ορισμός των γλυφών ως περιγράμματα TrueType ή Compact Font Format (CFF), η παροχή μονοχρωματικών ή έγχρωμων bitmaps ή εγγράφων SVG ως εναλλακτικές περιγραφές γλυφών και πληροφορίες μεταδεδομένων.

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

Τα αρχεία OTF χρησιμοποιούν τους ακόλουθους τύπους δεδομένων που είναι όλοι στο Big Endian.

Τύπος δεδομένωνΠεριγραφή
uint88-bit unsigned integer.
int88-bit υπογεγραμμένος ακέραιος αριθμός.
ενότητα1616-bit unsigned integer.
int1616-bit υπογεγραμμένος ακέραιος αριθμός.
uint2424-bit χωρίς υπογραφή ακέραιος.
uint3232-bit χωρίς υπογραφή ακέραιος.
int3232-bit υπογεγραμμένος ακέραιος αριθμός.
Διορθώθηκε32-bit υπογεγραμμένος αριθμός σταθερού σημείου (16.16)
FWORDint16 που περιγράφει μια ποσότητα σε μονάδες σχεδίασης γραμματοσειρών.
UFWORDuint16 που περιγράφει μια ποσότητα σε μονάδες σχεδίασης γραμματοσειρών.
F2DOT1416-bit προσημασμένος σταθερός αριθμός με το χαμηλό 14 bit του κλάσματος (2.14).
LONGDATETIMEΗμερομηνία και ώρα αντιπροσωπεύονται σε αριθμό δευτερολέπτων από τις 12:00 τα μεσάνυχτα, 1 Ιανουαρίου 1904, UTC. Η τιμή αναπαρίσταται ως υπογεγραμμένος ακέραιος αριθμός 64-bit.
ΕτικέταΣυστοιχία τεσσάρων uint8s (μήκος = 32 bit) που χρησιμοποιούνται για τον προσδιορισμό ενός πίνακα, ενός άξονα παραλλαγής σχεδίασης, ενός σεναρίου, ενός συστήματος γλώσσας, ενός χαρακτηριστικού ή μιας γραμμής βάσης
Offset16Σύντομη μετατόπιση σε πίνακα, ίδια με το uint16, NULL μετατόπιση = 0x0000
Offset32Μεγάλη μετατόπιση σε πίνακα, ίδια με το uint32, NULL offset = 0x00000000
Έκδοση16Τελεία16Συσκευασμένη τιμή 32 bit με αριθμούς κύριας και δευτερεύουσας έκδοσης. (Βλ. Αριθμοί έκδοσης πίνακα.)

Κατάλογος πινάκων OTF

Ένα αρχείο OTF ξεκινά με έναν κατάλογο πίνακα. Αυτός ο κατάλογος είναι η συλλογή ανώτατου επιπέδου των πινάκων στο αρχείο γραμματοσειρών. Ανάλογα με τον αριθμό των γραμματοσειρών σε ένα αρχείο, ο κατάλογος του πίνακα μπορεί να βρίσκεται σε διαφορετική θέση στο αρχείο. Για παράδειγμα, σε περίπτωση που το αρχείο γραμματοσειράς έχει μόνο μία γραμματοσειρά, ο κατάλογος του πίνακα ξεκινά από το byte 0 του αρχείου. Σε περίπτωση συλλογής πολλαπλών γραμματοσειρών OpenType, η αρχή του καταλόγου του πίνακα υποδεικνύεται στο TTCHeader.

ΤύποςΌνομαΠεριγραφή
uint32sfntVersion0x00010000 ή 0x4F54544F («OTTO»)
ενότητα16numTablesΑριθμός πινάκων.
ενότητα16SearchRangeΜέγιστη ισχύς 2 μικρότερη ή ίση με numTables, επί 16 ((2**floor(log2(numTables))) * 16, όπου “**” είναι τελεστής εκθέσεως).
uint16entrySelector Log2 της μέγιστης ισχύος 2 μικρότερη ή ίση με numTables (log2(searchRange/16), που ισούται με floor(log2(numTables))).
uint16rangeShiftnumTables επί 16, μείον searchRange ((numTables * 16) - searchRange).
tableRecordtableRecords[numTables]Πίνακας εγγραφών πίνακα—ένας για κάθε πίνακα ανώτατου επιπέδου στη γραμματοσειρά

Εγγραφή πίνακα

Για κάθε πίνακα ανώτατου επιπέδου στη γραμματοσειρά, υπάρχει μια εγγραφή πίνακα που αποτελείται από τα ακόλουθα πεδία.

ΤύποςΌνομαΠεριγραφή
ΕτικέταtableTagΑναγνωριστικό πίνακα.
uint32άθροισμα ελέγχουΆθροισμα ελέγχου για αυτόν τον πίνακα.
Offset32αντιστάθμισηΜετατόπιση από την αρχή του αρχείου γραμματοσειράς.
uint32μήκος Μήκος αυτού του πίνακα.

Κάθε πίνακας στο αρχείο γραμματοσειράς OpenType αντιπροσωπεύεται από ονόματα γνωστά ως ετικέτες πίνακα. Είναι απαραίτητο για όλες τις εγγραφές του πίνακα να ταξινομηθούν σε αύξουσα σειρά ανά ετικέτα.

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

Δείτε επίσης