matplotlib.afm#

Attenzione

Questo modulo è considerato interno.

Il suo utilizzo è deprecato e verrà rimosso in una versione futura.

Un'interfaccia Python per Adobe Font Metrics Files.

Sebbene esistano numerose altre implementazioni di Python, e potrebbero essere più complete di questa, si è deciso di non utilizzarle perché erano:

  1. protetto da copyright o utilizzato una licenza non compatibile con BSD

  2. aveva troppe dipendenze ed era necessaria una libreria indipendente

  3. ha fatto più del necessario ed è stato più facile scrivere di nuovo piuttosto che capire come ottenere solo ciò che era necessario.

È abbastanza facile da usare e non ha dipendenze esterne:

>>> 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]

Come nella specifica del formato file di Adobe Font Metrics, tutte le dimensioni sono fornite in unità di 1/1000 del fattore di scala (dimensione in punti) del carattere utilizzato.

classe matplotlib._afm. AFM ( fh ) [fonte] #

Basi:object

Analizza il file AFM nell'oggetto file fh .

proprietà nome_famiglia #

Il nome della famiglia di caratteri, ad esempio "Times".

get_angle ( ) [fonte] #

Restituisce il fontangle come float.

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

Restituisce l'altezza del tappo come float.

get_familyname ( ) [fonte] #

Restituisce il nome della famiglia di font, ad esempio 'Times'.

get_fontname ( ) [fonte] #

Restituisce il nome del font, ad es. 'Times-Roman'.

get_fullname ( ) [fonte] #

Restituisce il nome completo del font, ad esempio 'Times-Roman'.

get_height_char ( c , isord = False ) [fonte] #

Ottieni l'altezza del riquadro di delimitazione (inchiostro) del carattere c (lo spazio è 0).

get_horizontal_stem_width ( ) [fonte] #

Restituisce la larghezza dello stelo orizzontale standard come float o None se non specificato nel file AFM.

get_kern_dist ( c1 , c2 ) [fonte] #

Restituisce la distanza della coppia di crenatura (possibilmente 0) per i caratteri c1 e c2 .

get_kern_dist_from_name ( nome1 , nome2 ) [fonte] #

Restituisce la distanza della coppia di crenatura (possibilmente 0) per i caratteri name1 e name2 .

get_name_char ( c , isord = False ) [fonte] #

Ottieni il nome del personaggio, ad esempio ';' è 'punto e virgola'.

get_str_bbox ( s ) [fonte] #

Restituisce il riquadro di delimitazione della stringa.

get_str_bbox_and_descent ( s ) [fonte] #

Restituisce il riquadro di delimitazione delle stringhe e la massima discesa.

get_underline_thickness ( ) [fonte] #

Restituisce lo spessore della sottolineatura come float.

get_vertical_stem_width ( ) [fonte] #

Restituisce la larghezza dello stelo verticale standard come float o None se non specificato nel file AFM.

get_weight ( ) [fonte] #

Restituisce lo spessore del carattere, ad esempio 'Grassetto' o 'Roman'.

get_width_char ( c , isord = False ) [fonte] #

Ottieni la larghezza del carattere dal campo WX della metrica del carattere.

get_width_from_char_name ( nome ) [fonte] #

Ottieni la larghezza del carattere da un nome di carattere type1.

get_xheight ( ) [fonte] #

Restituisce l'altezza x come float.

proprietà postscript_name #
string_width_height ( s ) [fonte] #

Restituisce la larghezza della stringa (inclusa la crenatura) e l'altezza della stringa come tupla ( w , h ).

classe matplotlib._afm. CharMetrics ( larghezza , nome , bbox ) [fonte] #

Basi:tuple

Rappresenta le metriche dei caratteri di un singolo carattere.

Appunti

I campi attualmente descrivono solo un sottoinsieme di informazioni sulla metrica dei caratteri definite nello standard AFM.

Crea una nuova istanza di CharMetrics (larghezza, nome, bbox)

casella #

La bbox del carattere (B) come tupla ( llx , lly , urx , ury ).

nome #

Il nome del personaggio (N).

larghezza #

La larghezza del carattere (WX).

classe matplotlib._afm. CompositePart ( nome , dx , dy ) [fonte] #

Basi:tuple

Rappresenta le informazioni su un elemento composito di un carattere composito.

Crea una nuova istanza di CompositePart(name, dx, dy)

dx #

x-spostamento della parte dall'origine.

#

spostamento y della parte dall'origine.

nome #

Nome della parte, ad esempio 'acuta'.