matplotlib.afm
#
Attention
Ce module est considéré comme interne.
Son utilisation est obsolète et sera supprimée dans une future version.
Une interface python pour les fichiers Adobe Font Metrics.
Bien qu'un certain nombre d'autres implémentations Python existent et soient peut-être plus complètes que cela, il a été décidé de ne pas les utiliser car elles étaient soit :
protégé par des droits d'auteur ou utilisé une licence non compatible avec BSD
avait trop de dépendances et une bibliothèque autonome était nécessaire
fait plus que nécessaire et il était plus facile d'écrire à nouveau plutôt que de trouver comment obtenir exactement ce qui était nécessaire.
Il est assez facile à utiliser et n'a aucune dépendance externe :
>>> import matplotlib as mpl
>>> from pathlib import Path
>>> afm_path = Path(mpl.get_data_path(), 'fonts', 'afm', 'ptmr8a.afm')
>>>
>>> from matplotlib.afm import AFM
>>> with afm_path.open('rb') as fh:
... afm = AFM(fh)
>>> afm.string_width_height('What the heck?')
(6220.0, 694)
>>> afm.get_fontname()
'Times-Roman'
>>> afm.get_kern_dist('A', 'f')
0
>>> afm.get_kern_dist('A', 'y')
-92.0
>>> afm.get_bbox_char('!')
[130, -9, 238, 676]
Comme dans la spécification du format de fichier Adobe Font Metrics, toutes les dimensions sont exprimées en unités de 1/1000 du facteur d'échelle (taille en points) de la police utilisée.
- classe matplotlib._afm. AFM ( fh ) [source] #
Socles :
object
Analysez le fichier AFM dans l'objet fichier fh .
- propriété family_name #
Le nom de la famille de polices, par exemple, 'Times'.
- get_height_char ( c , isord = False ) [source] #
Obtenez la hauteur de la boîte englobante (encre) du caractère c (l'espace vaut 0).
- get_horizontal_stem_width ( ) [source] #
Renvoie la largeur de tige horizontale standard en tant que float, ou None si elle n'est pas spécifiée dans le fichier AFM.
- get_kern_dist ( c1 , c2 ) [source] #
Renvoie la distance de la paire de crénage (éventuellement 0) pour les caractères c1 et c2 .
- get_kern_dist_from_name ( nom1 , nom2 ) [source] #
Renvoie la distance de la paire de crénage (éventuellement 0) pour les caractères name1 et name2 .
- get_name_char ( c , isord = False ) [source] #
Obtenez le nom du caractère, c'est-à-dire ';' est 'point-virgule'.
- get_str_bbox_and_descent ( s ) [source] #
Renvoie la boîte englobante de la chaîne et la descente maximale.
- get_vertical_stem_width ( ) [source] #
Renvoie la largeur de tige verticale standard en tant que float, ou None si elle n'est pas spécifiée dans le fichier AFM.
- get_width_char ( c , isord = False ) [source] #
Obtenez la largeur du caractère à partir du champ WX de mesure de caractère.
- get_width_from_char_name ( nom ) [source] #
Obtenez la largeur du caractère à partir d'un nom de caractère de type1.
- propriété postscript_name #
- classe matplotlib._afm. CharMetrics ( largeur , nom , bbox ) [source] #
Socles :
tuple
Représente les métriques de caractère d'un seul caractère.
Remarques
Les champs ne décrivent actuellement qu'un sous-ensemble d'informations sur les métriques de caractères définies dans la norme AFM.
Créer une nouvelle instance de CharMetrics (largeur, nom, bbox)
- bbox #
La bbox du caractère (B) sous forme de tuple ( llx , lly , urx , ury ).
- nom #
Le nom du personnage (N).
- largeur #
La largeur des caractères (WX).
- classe matplotlib._afm. CompositePart ( nom , dx , dy ) [source] #
Socles :
tuple
Représente les informations sur un élément composite d'un caractère composite.
Créer une nouvelle instance de CompositePart (nom, dx, dy)
- dx #
x-déplacement de la pièce depuis l'origine.
- mec #
y-déplacement de la pièce depuis l'origine.
- nom #
Nom de la partie, par exemple 'acute'.