Table de l'inspection
Table de l’inspection
Ce guide montre comment lire les propriétés de table nommées, récupérer les données de tables binaires crus et écrire des bytes de Table modifiées dans une phonture TrueType.
Les phontres TrueType et OpenTYpe sont composés de tables binaires, chacune identifiée par une tag 4 bits. TtfTableSet expose les propriétés Python nommées pour les tabelles communes, et TtpFont fournit un accès à des bytes crues pour toutes les tablettes.
Lire les tables nommées
TtfTableSet expose la tête, hhea, maxp, os2, nom, post, cmap, loca, Hmtx et les tables de base.
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)Lire la suite de Raw Table Bytes
‘TtfFont.get_table_bytes(tag)’ retourne le contenu binaire complet de toute table identifiée par son étiquette à quatre caractères, permettant une inspection basse ou un parcours personnalisé.
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")Écrire des tableaux modifiés
‘TtfFont.set_table_bytes(tag, données)’ remplace le contenu binaire d’une table, permettant des modifications de table personnalisées telles que la patchage des règles GSUB ou les mises à jour des enregistrements de noms.
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)Conseils et meilleures pratiques
- Vérifiez ’tables.kern n’est pas None’ avant d’accéder aux données de base
- ‘TtfTableSet.get_raw(tag)
et 'set_rav(tags, données)' sont des aliases pourget-table_bytes/set-tables_bytes` - Utilisez ‘FontCleaner.clean_for_web()’ au lieu de supprimer manuellement les tables pour éviter des problèmes de cohérence
Le résumé de référence API
| Class / Method | Description |
|---|---|
TtfFont.ttf_tables | Access named table properties |
TtfFont.get_table_bytes(tag) | Read raw binary table data |
TtfFont.set_table_bytes(tag, data) | Write modified table data |
TtfTableSet.get_raw(tag) | Alias for get_table_bytes |
TtfTableSet.set_raw(tag, data) | Alias for set_table_bytes |
Voir aussi
- Aspose.Font - Documentation d’entreprise