aspose.info
EL

CFF2 - Μορφή αρχείου συμπαγούς γραμματοσειράς έκδοση 2

Ενημερώθηκε

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

Η μορφή αρχείου CFF2 είναι η έκδοση 2.0 της μορφής αρχείου CFF και επιτρέπει την αποτελεσματική αποθήκευση περιγραμμάτων γλυφών και μεταδεδομένων παρόμοια με τη μορφή αρχείου CFF. Το CFF2 διαφέρει από το CFF στο ότι προορίζεται να χρησιμοποιηθεί στο πλαίσιο μιας γραμματοσειράς OpenType ως πίνακας ‘sfnt’ με την ετικέτα CFF2. Δεν μπορεί να χρησιμοποιηθεί ως αυτόνομο πρόγραμμα και εξαρτάται από δεδομένα σε άλλους πίνακες OpenType.

Μορφή αρχείου CFF2

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

Διάταξη δεδομένων

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

ΕίσοδοςΣχόλια
ΚεφαλίδαΣταθερή τοποθεσία
Κορυφαία DICTΣταθερή τοποθεσία
Παγκόσμιος ΔΕΙΚΤΗΣΣταθερή τοποθεσία
ΠαραλλαγήΚατάστημα
FDSεπιλογήΠαρουσίαση μόνο εάν υπάρχουν περισσότερες από μία γραμματοσειρές DICT στο Font DICT INDEX.
Γραμματοσειρά DICT INDEX
Πίνακας γραμματοσειρών DICTΠεριλαμβάνεται στο Font DICT INDEX.
Ιδιωτικό DICTΈνα ανά γραμματοσειρά DICT.

Μόνο οι τρεις πρώτες δομές βασίζονται σε σταθερές θέσεις. Τα υπόλοιπα επιτυγχάνονται μέσω αντισταθμίσεων και η σειρά τους μπορεί να αλλάξει.

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

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

ΌνομαΕύροςΠεριγραφή
uint80 έως 255αριθμός χωρίς υπογραφή 8 bit
uint160 έως 6553516-bit ανυπόγραφος αριθμός
uint320 έως 429496729532-bit ανυπόγραφος αριθμός
ΜετατόπισηποικίλλειΜετατοπίσεις 1, 2, 3 ή 4 byte (καθορίζονται από το πεδίο OffSize σε έναν πίνακα ευρετηρίου)
OffSize1 έως 4Ο αριθμός χωρίς υπογραφή 1 byte καθορίζει το μέγεθος ενός πεδίου ή πεδίων Offset

Αποθηκεύει όλα τα αριθμητικά δεδομένα πολλών byte και τα πεδία μετατόπισης σε μεγάλη σειρά byte. Η μορφή CFF2 δεν περιέχει byte συμπλήρωσης, καθώς δεν τηρεί κανέναν περιορισμό στοίχισης.

Δεδομένα DICT

Τα αρχεία CFF2 περιέχουν τα δεδομένα του λεξικού γραμματοσειράς ως ζεύγη κλειδιών-τιμών σε μια συμπαγή μορφή διακριτικού. Τα κλειδιά λεξικού κωδικοποιούνται ως τελεστές 1 ή 2 byte και οι τιμές του λεξικού κωδικοποιούνται ως αριθμητικοί τελεστές μεταβλητού μεγέθους. Υπάρχουν τρεις δομές που χρησιμοποιούν τη μορφή DICT Data: «Top DICT», «Font DICT» και «Private DICT». Ορίζεται ένας αριθμός ακέραιων τύπων τελεστών διαφορετικών μεγεθών και κωδικοποιείται όπως φαίνεται στον παρακάτω πίνακα (το πρώτο byte του τελεστή είναι b0, το δεύτερο είναι το b1 και ούτω καθεξής).

Μέγεθοςεύρος b0Εύρος τιμώνΥπολογισμός τιμής
132 έως 246-107 έως +107b0 - 139
2247 έως 250+108 έως +1131(b0 - 247) * 256 + b1 + 108
2251 έως 254-1131 έως -108-(b0 - 251) * 256 - b1 - 108
328-32768 έως +32767b1 « 8
529-(2^31) έως +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

Κεφαλίδα

Τα δυαδικά δεδομένα ξεκινούν με μια κεφαλίδα που έχει τη μορφή που φαίνεται στον παρακάτω Πίνακα.

ΤύποςΌνομαΠεριγραφή
uint8κύρια ΈκδοσηΜορφοποίηση κύριας έκδοσης. Ορίστε σε 2.
uint8minorVersionΜορφοποίηση δευτερεύουσας έκδοσης. Ορίστε στο μηδέν.
uint8Μέγεθος κεφαλίδαςΜέγεθος κεφαλίδας (bytes).
ενότητα16topDictLengthΜήκος κορυφαίας δομής DICT σε byte.

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

Δείτε επίσης