Ελέγχου πίνακα

Ελέγχου πίνακα

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

Τα γραμματοσειρά TrueType και OpenTYpe αποτελούνται από δυαδικούς πίνακες, καθένα ταυτοποιημένο με μια ετικέτα 4 bytes. TtfTableSet εκθέτει χαρακτηριστικά που ονομάζονται Python για κοινά πίνακα, και TtfFont Παρέχει Απαραίτητη πρόσβαση για όλα τα τραπέζια.


Διαβάστε τα ονόματα των τραπεζών

TtfTableSet εκθέτει κεφάλι, hhea, maxp, os2, όνομα, post, cmap, loca, Hmtx και πυρήνες πίνακες.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables

print("head table:", tables.head is not None)
print("kern table:", tables.kern is not None)

Διαβάστε το Raw Table Bytes

TtfFont.get_table_bytes(tag) επιστρέφει το πλήρες δυαδικό περιεχόμενο οποιουδήποτε πίνακα που αναγνωρίζεται με την ετικέτα τεσσάρων χαρακτήρων του, επιτρέποντας χαμηλό επίπεδο ελέγχου ή προσαρμοσμένη παρίνγκ.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_name = ttf_font.get_table_bytes("name")
print(f"name table: {len(raw_name)} bytes")

Γράψτε τροποποιημένα τραπέζια

TtfFont.set_table_bytes(tag, data) αντικαθιστά το δυαδικό περιεχόμενο ενός πίνακα, επιτρέποντας προσαρμοσμένες τροποποιήσεις του πίεσης όπως η διόρθωση των κανόνων GSUB ή οι ενημερώσεις αρχείων ονομάτων.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..."  # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)

Συμβουλές και βέλτιστες πρακτικές

  • Ελέγξτε tables.kern is not None Πριν από την πρόσβαση στα δεδομένα κέρδους
  • TtfTableSet.get_raw(tag) και set_raw(tag, data) Είναι συμμαχίες για get_table_bytes / set_table_bytes
  • Χρησιμοποιήστε FontCleaner.clean_for_web() αντί να αφαιρέσετε χειροκίνητα τα τραπέζια για να αποφύγετε προβλήματα συνοχής

Συνοπτική αναφορά API

Κλάση / ΜέθοδοςΠεριγραφή
TtfFont.ttf_tablesΔοκιμή πρόσβασης με ονομαστικές ιδιότητες πίνακα
TtfFont.get_table_bytes(tag)Διαβάστε τα πρώτα δεδομένα δυαδικού πίνακα
TtfFont.set_table_bytes(tag, data)Γράψτε τροποποιημένα δεδομένα πίνακα
TtfTableSet.get_raw(tag)Ετικέτες Get_table_bytes
TtfTableSet.set_raw(tag, data)Ετικέτες Set_table_bytes

Δείτε επίσης

 Ελληνικά