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 :

  1. protégé par des droits d'auteur ou utilisé une licence non compatible avec BSD

  2. avait trop de dépendances et une bibliothèque autonome était nécessaire

  3. 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_angle ( ) [source] #

Renvoie le fontangle en tant que float.

get_bbox_char ( c , isord = False ) [source] #
get_capheight ( ) [source] #

Renvoie la hauteur du bouchon en flottant.

get_familyname ( ) [source] #

Renvoie le nom de la famille de polices, par exemple, 'Times'.

get_nom_police ( ) [source] #

Renvoie le nom de la police, par exemple, 'Times-Roman'.

get_fullname ( ) [source] #

Renvoie le nom complet de la police, par exemple, 'Times-Roman'.

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 ( s ) [source] #

Renvoie la boîte englobante de la chaîne.

get_str_bbox_and_descent ( s ) [source] #

Renvoie la boîte englobante de la chaîne et la descente maximale.

get_underline_thickness ( ) [source] #

Renvoie l'épaisseur du soulignement en flottant.

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_weight ( ) [source] #

Renvoie le poids de la police, par exemple, 'Bold' ou 'Roman'.

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.

get_xheight ( ) [source] #

Renvoie xheight en tant que float.

propriété postscript_name #
string_width_height ( s ) [source] #

Renvoie la largeur de la chaîne (y compris le crénage) et la hauteur de la chaîne sous la forme d'un tuple ( w , h ).

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'.