Τι είναι ένα αρχείο WOFF2;
Το WOFF2 είναι μια μορφή αρχείου γραμματοσειράς που είναι μια πιο συμπιεσμένη έκδοση του Web Open Font Format (WOFF). Αναπτύχθηκε ως ένας τρόπος μείωσης του μεγέθους του αρχείου των γραμματοσειρών Ιστού, επιτρέποντάς τους να φορτώνουν πιο γρήγορα και να χρησιμοποιούν λιγότερο εύρος ζώνης. Το WOFF2 χρησιμοποιεί έναν αλγόριθμο συμπίεσης που ονομάζεται Brotli για τη συμπίεση των δεδομένων γραμματοσειράς, που μπορεί να οδηγήσει σε μεγέθη αρχείων που είναι σημαντικά μικρότερα από τις αντίστοιχες γραμματοσειρές WOFF. Αυτή η μορφή υποστηρίζεται από τα περισσότερα σύγχρονα προγράμματα περιήγησης ιστού, συμπεριλαμβανομένων των Chrome, Firefox, Safari, Opera και Edge (έκδοση 14 και μετά).
Μορφή αρχείου WOFF2 - Περισσότερες πληροφορίες
Η εσωτερική δομή αρχείου ενός αρχείου γραμματοσειράς WOFF2 αποτελείται από πολλά διαφορετικά μέρη, όπως μια κεφαλίδα, μεταδεδομένα, έναν κατάλογο πίνακα και τα ίδια τα δεδομένα γραμματοσειράς.
Η κεφαλίδα περιέχει πληροφορίες σχετικά με τη συνολική μορφή του αρχείου, συμπεριλαμβανομένου του αριθμού έκδοσης και του αριθμού των πινάκων που υπάρχουν στο αρχείο.
Η ενότητα Μεταδεδομένων περιέχει πληροφορίες όπως όνομα γραμματοσειράς, πνευματικά δικαιώματα και άλλες πληροφορίες που σχετίζονται με τη γραμματοσειρά.
Ο κατάλογος πίνακα περιέχει πληροφορίες σχετικά με τους διαφορετικούς πίνακες που απαρτίζουν τη γραμματοσειρά, συμπεριλαμβανομένης της θέσης τους στο αρχείο και του μήκους τους.
Τα ίδια τα δεδομένα γραμματοσειράς χωρίζονται σε πολλούς διαφορετικούς πίνακες, καθένας από τους οποίους περιέχει συγκεκριμένες πληροφορίες σχετικά με τη γραμματοσειρά, όπως τους χαρακτήρες και τους αντίστοιχους γλυφούς τους. Αυτοί οι πίνακες μπορεί να περιλαμβάνουν:
- Ο πίνακας glyf περιέχει τα πραγματικά περιγράμματα της γραμματοσειράς, συμπεριλαμβανομένου του σχήματος και του μεγέθους κάθε χαρακτήρα.
- Ο πίνακας κεφαλή περιέχει γενικές πληροφορίες σχετικά με τη γραμματοσειρά, όπως τον αριθμό έκδοσής της, το μέγεθος σχεδίασης και ούτω καθεξής.
- Ο πίνακας ‘hmtx’ περιέχει πληροφορίες σχετικά με τις μετρήσεις της γραμματοσειράς, συμπεριλαμβανομένων των πλατών και των θέσεων των χαρακτήρων.
- Κάθε πίνακας συμπιέζεται και αποθηκεύεται σε μορφή αρχείου WOFF2 αφού ολοκληρώσει τη διαδικασία κωδικοποίησης.
Η συνολική δομή έχει σχεδιαστεί για να επιτρέπει γρήγορη ανάλυση και αποκωδικοποίηση, έτσι ώστε τα προγράμματα περιήγησης ιστού να μπορούν γρήγορα και αποτελεσματικά να φορτώνουν και να εμφανίζουν τη γραμματοσειρά σε έναν ιστότοπο.
Κεφαλίδα WOFF2
Η κεφαλίδα WOFF αποτελείται από μια υπογραφή αναγνώρισης που υποδεικνύει το είδος των δεδομένων που περιλαμβάνονται στο αρχείο. Η κεφαλίδα WOFF μαζί με τα πεδία της έχουν ως εξής.
Τύπος | Όνομα πεδίου | Περιγραφή |
---|---|---|
UInt32 | υπογραφή | 0x774F4632 ‘wOF2’ |
UIint32 | γεύση | Η έκδοση sfnt της γραμματοσειράς εισόδου. |
UIint32 | μήκος | Συνολικό μέγεθος του αρχείου WOFF. |
UIint16 | numTables | Αριθμός καταχωρήσεων στον κατάλογο πινάκων γραμματοσειρών. |
UIint16 | δεσμευμένο | Δέσμευση; ορίζεται στο μηδέν. |
UIint32 | totalSfntSize | Συνολικό μέγεθος που απαιτείται για τα ασυμπίεστα δεδομένα γραμματοσειράς, συμπεριλαμβανομένης της κεφαλίδας, του καταλόγου και των πινάκων γραμματοσειρών sfnt (συμπεριλαμβανομένου του padding). |
UIint32 | totalCompressedSize Συνολικό μήκος του μπλοκ συμπιεσμένων δεδομένων. | |
UIint16 | majorVersion | Κύρια έκδοση του αρχείου WOFF. |
UIint16 | minorVersion | Μικρή έκδοση του αρχείου WOFF. |
UIint32 | metaOffset | Μετατόπιση στο μπλοκ μεταδεδομένων, από την αρχή του αρχείου WOFF. |
UIint32 | metaLength | Μήκος συμπιεσμένου μπλοκ μεταδεδομένων. |
UIint32 | metaOrigLength | Μη συμπιεσμένο μέγεθος μπλοκ μεταδεδομένων. |
UIint32 | privOffset | Μετατόπιση σε μπλοκ ιδιωτικών δεδομένων, από την αρχή του αρχείου WOFF. |
UIint32 | privLength | Μήκος μπλοκ ιδιωτικών δεδομένων. |