matplotlib.font_manager#

Un modulo per trovare, gestire e utilizzare i caratteri su più piattaforme.

Questo modulo fornisce una singola FontManageristanza, fontManager, che può essere condivisa tra backend e piattaforme. La findfont funzione restituisce il miglior file di font TrueType (TTF) nel percorso del font locale o di sistema che corrisponde FontProperties all'istanza specificata. Gestisce anche i FontManagerfile di font Adobe Font Metrics (AFM) per l'utilizzo da parte del back-end PostScript.

Il design si basa sulla specifica del carattere W3C Cascading Style Sheet, Level 1 (CSS1) . Le versioni future potrebbero implementare le specifiche di livello 2 o 2.1.

classe matplotlib.font_manager. FontManager ( size = None , weight = 'normal' ) [fonte] #

Basi:object

Al momento dell'importazione, l' FontManageristanza singleton crea un elenco di caratteri ttf e afm e memorizza nella cache i loro file FontProperties. Il FontManager.findfont metodo esegue una ricerca del vicino più vicino per trovare il carattere che corrisponde maggiormente alla specifica. Se non viene trovata una corrispondenza sufficiente, viene restituito il carattere predefinito.

addfont ( percorso ) [fonte] #

Memorizza nella cache le proprietà del carattere in path per renderlo disponibile al file FontManager. Il tipo di carattere viene dedotto dal suffisso del percorso.

Parametri :
path str o simile a un percorso
proprietà defaultFont #
findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , ricostruisci_se_mancante = True ) [fonte] #

Trova un carattere che corrisponda maggiormente alle proprietà del carattere fornite.

Parametri :
prop str oFontProperties

Le proprietà del carattere da cercare. Questo può essere un FontPropertiesoggetto o una stringa che definisce un pattern fontconfig .

fontext {'ttf', 'afm'}, predefinito: 'ttf'

L'estensione del file del carattere:

  • 'ttf': caratteri TrueType e OpenType (.ttf, .ttc, .otf)

  • 'afm': Adobe Font Metrics (.afm)

directory str, facoltativo

Se specificato, cerca solo in questa directory e nelle sue sottodirectory.

fallback_to_default bool

Se True, tornerà alla famiglia di caratteri predefinita (di solito "DejaVu Sans" o "Helvetica") se la prima ricerca fallisce.

ricostruisci_se_mancante bool

Se ricostruire la cache dei font e cercare di nuovo se la prima corrispondenza sembra puntare a un font inesistente (ad esempio, la cache dei font contiene voci obsolete).

Resi :
str

Il nome file del font con la migliore corrispondenza.

Appunti

Questo esegue una ricerca del vicino più vicino. A ogni carattere viene assegnato un punteggio di somiglianza con le proprietà del carattere di destinazione. Viene restituito il primo font con il punteggio più alto. Se non vengono trovate corrispondenze al di sotto di una certa soglia, viene restituito il carattere predefinito (solitamente DejaVu Sans).

Il risultato viene memorizzato nella cache, quindi le ricerche successive non devono eseguire la ricerca del vicino più vicino O(n).

Vedere il foglio di stile W3C Cascading, documentazione di livello 1 per una descrizione dell'algoritmo di ricerca dei caratteri.

static get_default_size ( ) [fonte] #

Restituisce la dimensione del carattere predefinita.

get_default_weight ( ) [fonte] #

Restituisce lo spessore del carattere predefinito.

get_font_names ( ) [fonte] #

Restituisce l'elenco dei font disponibili.

score_family ( famiglie , famiglia2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra l'elenco delle famiglie di caratteri in famiglie e il nome della famiglia di caratteri family2 .

Una corrispondenza esatta all'inizio dell'elenco restituisce 0.0.

Una corrispondenza più in basso nell'elenco restituirà un valore compreso tra 0 e 1.

Nessuna corrispondenza restituirà 1.0.

score_size ( size1 , size2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra size1 e size2 .

Se size2 (la dimensione specificata nel file del carattere) è 'scalabile', questa funzione restituisce sempre 0.0, poiché può essere generata qualsiasi dimensione del carattere.

In caso contrario, il risultato è la distanza assoluta tra size1 e size2 , normalizzata in modo che il normale intervallo di dimensioni dei caratteri (6pt - 72pt) sia compreso tra 0,0 e 1,0.

score_stretch ( stretch1 , stretch2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra stretch1 e stretch2 .

Il risultato è il valore assoluto della differenza tra i valori numerici CSS di stretch1 e stretch2 , normalizzato tra 0.0 e 1.0.

score_style ( style1 , style2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra style1 e style2 .

Una corrispondenza esatta restituisce 0.0.

Una corrispondenza tra 'italic' e 'oblique' restituisce 0,1.

Nessuna corrispondenza restituisce 1.0.

score_variant ( variante1 , variante2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra variant1 e variant2 .

Una corrispondenza esatta restituisce 0.0, altrimenti 1.0.

punteggio_peso ( peso1 , peso2 ) [fonte] #

Restituisce un punteggio di corrispondenza tra peso1 e peso2 .

Il risultato è 0.0 se sia peso1 che peso 2 sono dati come stringhe e hanno lo stesso valore.

In caso contrario, il risultato è il valore assoluto della differenza tra i valori numerici CSS di weight1 e weight2 , normalizzato tra 0,05 e 1,0.

set_default_weight ( peso ) [fonte] #

Imposta lo spessore del carattere predefinito. Il valore iniziale è 'normale'.

classe matplotlib.font_manager. FontProperties ( family = None , style = None , variant = None , weight = None , stretch = None , size = None , fname = None , math_fontfamily = None ) [fonte] #

Basi:object

Una classe per memorizzare e manipolare le proprietà dei font.

Le proprietà dei caratteri sono le sei proprietà descritte nel foglio di stile W3C Cascading, nella specifica dei caratteri di livello 1 e nella math_fontfamily per i caratteri matematici:

  • family: un elenco di nomi di font in ordine di priorità decrescente. Gli elementi possono includere un nome di famiglia di carattere generico, 'sans-serif', 'serif', 'cursive', 'fantasy' o 'monospace'. In tal caso, il carattere effettivo da utilizzare verrà cercato dal rcParam associato durante il processo di ricerca in findfont. Predefinito: rcParams["font.family"](predefinito: ['sans-serif'])

  • stile: "normale", "corsivo" o "obliquo". Predefinito: rcParams["font.style"](predefinito: 'normal')

  • variante: "normale" o "maiuscoletto". Predefinito: rcParams["font.variant"](predefinito: 'normal')

  • stretch: un valore numerico compreso tra 0 e 1000 o uno tra 'ultra-condensato', 'extra-condensato', 'condensato', 'semi-condensato', 'normale', 'semi-espanso', 'espanso', 'extra-espanso' o 'ultra-espanso'. Predefinito: rcParams["font.stretch"](predefinito: 'normal')

  • peso: un valore numerico compreso tra 0 e 1000 o uno tra 'ultralight', 'light', 'normal', 'normal', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'. Predefinito: rcParams["font.weight"](predefinito: 'normal')

  • size: un valore relativo di 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' o una dimensione assoluta del carattere, ad es. 10. Predefinito: rcParams["font.size"](predefinito: 10.0)

  • math_fontfamily: la famiglia di caratteri utilizzati per il rendering del testo matematico. I valori supportati sono: 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' e 'custom'. Predefinito: rcParams["mathtext.fontset"](predefinito: 'dejavusans')

In alternativa, un font può essere specificato usando il percorso assoluto di un file di font, usando il fname kwarg. Tuttavia, in questo caso, in genere è più semplice passare semplicemente il percorso (come a pathlib.Path, non a str) al carattere kwarg Textdell'oggetto.

L'uso preferito delle dimensioni dei caratteri consiste nell'utilizzare i valori relativi, ad esempio 'grande', invece delle dimensioni dei caratteri assoluti, ad esempio 12. Questo approccio consente di ingrandire o ridurre tutte le dimensioni del testo in base alla dimensione del carattere predefinita del gestore dei caratteri.

Questa classe accetterà anche un fontconfig pattern , se è l'unico argomento fornito. Questo supporto non dipende da fontconfig; stiamo semplicemente prendendo in prestito la sua sintassi del modello per usarla qui.

Si noti che il gestore di font interno di Matplotlib e fontconfig utilizzano un algoritmo diverso per cercare i caratteri, quindi i risultati dello stesso modello potrebbero essere diversi in Matplotlib rispetto ad altre applicazioni che utilizzano fontconfig.

copia ( ) [fonte] #

Restituisci una copia di te stesso.

get_family ( ) [fonte] #

Restituisce un elenco di nomi di famiglie di caratteri singoli o nomi di famiglie generici.

Le famiglie di font o le famiglie di font generiche (che verranno risolte dai rispettivi rcParams durante la ricerca di un font corrispondente) nell'ordine di preferenza.

get_file ( ) [fonte] #

Restituisce il nome file del font associato.

get_fontconfig_pattern ( ) [fonte] #

Ottieni un modello fontconfig adatto per cercare il carattere come specificato con l' utilità di fontconfig.fc-match

Questo supporto non dipende da fontconfig; stiamo semplicemente prendendo in prestito la sua sintassi del modello per usarla qui.

get_math_fontfamily ( ) [fonte] #

Restituisce il nome della famiglia di caratteri utilizzata per il testo matematico.

Il carattere predefinito è rcParams["mathtext.fontset"](predefinito: 'dejavusans').

get_name ( ) [fonte] #

Restituisce il nome del carattere che meglio corrisponde alle proprietà del carattere.

get_size ( ) [fonte] #

Restituisce la dimensione del carattere.

get_size_in_points ( ) [fonte] #

Restituisce la dimensione del carattere.

get_slant ( ) [fonte] #

Restituisce lo stile del carattere. I valori sono: 'normale', 'corsivo' o 'obliquo'.

get_stretch ( ) [fonte] #

Restituisce l'estensione o la larghezza del carattere. Le opzioni sono: 'ultra-condensato', 'extra-condensato', 'condensato', 'semi-condensato', 'normale', 'semi-espanso', 'espanso', 'extra-espanso', 'ultra-espanso' .

get_style ( ) [fonte] #

Restituisce lo stile del carattere. I valori sono: 'normale', 'corsivo' o 'obliquo'.

get_variant ( ) [fonte] #

Restituisce la variante del carattere. I valori sono: 'normale' o 'maiuscoletto'.

get_weight ( ) [fonte] #

Imposta lo spessore del carattere. Le opzioni sono: Un valore numerico nell'intervallo 0-1000 o uno tra 'light', 'normal', 'normal', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi' , 'grassetto', 'pesante', 'extra grassetto', 'nero'

set_family ( famiglia ) [fonte] #

Cambia la famiglia di caratteri. Può essere un alias (il nome generico è gergo CSS), ad esempio: 'serif', 'sans-serif', 'cursive', 'fantasy' o 'monospace', un nome di font reale o un elenco di nomi di font reali . I nomi di font reali non sono supportati quando rcParams["text.usetex"](default: False) è True. Predefinito: rcParams["font.family"](predefinito: ['sans-serif'])

set_file ( file ) [fonte] #

Imposta il nome file del fontfile da usare. In questo caso, tutte le altre proprietà verranno ignorate.

set_fontconfig_pattern ( modello ) [fonte] #

Imposta le proprietà analizzando un pattern fontconfig .

Questo supporto non dipende da fontconfig; stiamo semplicemente prendendo in prestito la sua sintassi del modello per usarla qui.

set_math_fontfamily ( fontfamily ) [fonte] #

Imposta la famiglia di caratteri per il testo in modalità matematica.

Se non impostato in modo esplicito, verrà utilizzato rcParams["mathtext.fontset"](default: ).'dejavusans'

Parametri :
famiglia di caratteri str

Il nome della famiglia di caratteri.

Le famiglie di caratteri disponibili sono definite nel file matplotlibrc.template qui

set_name ( famiglia ) [fonte] #

Cambia la famiglia di caratteri. Può essere un alias (il nome generico è gergo CSS), ad esempio: 'serif', 'sans-serif', 'cursive', 'fantasy' o 'monospace', un nome di font reale o un elenco di nomi di font reali . I nomi di font reali non sono supportati quando rcParams["text.usetex"](default: False) è True. Predefinito: rcParams["font.family"](predefinito: ['sans-serif'])

set_size ( dimensione ) [fonte] #

Imposta la dimensione del carattere.

Parametri :
size float o {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default: rcParams["font.size"](default: 10.0)

Se float, la dimensione del carattere in punti. I valori della stringa denotano le dimensioni relative alla dimensione del carattere predefinita.

set_slant ( style ) [fonte] #

Imposta lo stile del carattere.

Parametri :
style {'normal', 'italic', 'oblique'}, default: rcParams["font.style"](default: 'normal')
set_stretch ( stretch ) [fonte] #

Imposta l'estensione o la larghezza del carattere.

Parametri :
stretch int o {'ultra-condensato', 'extra-condensato', 'condensato', 'semi-condensato', 'normale', 'semi-espanso', 'espanso', 'extra-espanso', 'ultra-espanso '}, predefinito: rcParams["font.stretch"](predefinito: 'normal')

Se int, deve essere compreso nell'intervallo 0-1000.

set_style ( stile ) [fonte] #

Imposta lo stile del carattere.

Parametri :
style {'normal', 'italic', 'oblique'}, default: rcParams["font.style"](default: 'normal')
set_variant ( variante ) [fonte] #

Imposta la variante del carattere.

Parametri :
variant {'normal', 'small-caps'}, predefinito: rcParams["font.variant"](predefinito: 'normal')
set_weight ( peso ) [fonte] #

Imposta lo spessore del carattere.

Parametri :
peso int o {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra grassetto', 'nero'}, predefinito: rcParams["font.weight"](predefinito: 'normal')

Se int, deve essere compreso nell'intervallo 0-1000.

matplotlib.font_manager. afmFontProperty ( percorso carattere , carattere ) [fonte] #

Estrai le informazioni da un file di font AFM.

Parametri :
carattere AFM

Il file di font AFM da cui verranno estratte le informazioni.

Resi :
FontEntry

Le proprietà del carattere estratto.

matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontext = 'ttf' ) [fonte] #

Cerca i caratteri nei percorsi dei caratteri specificati. Se non vengono forniti percorsi, utilizzerà un set standard di percorsi di sistema, nonché l'elenco dei caratteri tracciati da fontconfig se fontconfig è installato e disponibile. Un elenco di caratteri TrueType viene restituito per impostazione predefinita con i caratteri AFM come opzione.

matplotlib.font_manager. findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , ricostruisci_se_mancante = True ) [fonte] #

Trova un carattere che corrisponda maggiormente alle proprietà del carattere fornite.

Parametri :
prop str oFontProperties

Le proprietà del carattere da cercare. Questo può essere un FontPropertiesoggetto o una stringa che definisce un pattern fontconfig .

fontext {'ttf', 'afm'}, predefinito: 'ttf'

L'estensione del file del carattere:

  • 'ttf': caratteri TrueType e OpenType (.ttf, .ttc, .otf)

  • 'afm': Adobe Font Metrics (.afm)

directory str, facoltativo

Se specificato, cerca solo in questa directory e nelle sue sottodirectory.

fallback_to_default bool

Se True, tornerà alla famiglia di caratteri predefinita (di solito "DejaVu Sans" o "Helvetica") se la prima ricerca fallisce.

ricostruisci_se_mancante bool

Se ricostruire la cache dei font e cercare di nuovo se la prima corrispondenza sembra puntare a un font inesistente (ad esempio, la cache dei font contiene voci obsolete).

Resi :
str

Il nome file del font con la migliore corrispondenza.

Appunti

Questo esegue una ricerca del vicino più vicino. A ogni carattere viene assegnato un punteggio di somiglianza con le proprietà del carattere di destinazione. Viene restituito il primo font con il punteggio più alto. Se non vengono trovate corrispondenze al di sotto di una certa soglia, viene restituito il carattere predefinito (solitamente DejaVu Sans).

Il risultato viene memorizzato nella cache, quindi le ricerche successive non devono eseguire la ricerca del vicino più vicino O(n).

Vedere il foglio di stile W3C Cascading, documentazione di livello 1 per una descrizione dell'algoritmo di ricerca dei caratteri.

matplotlib.font_manager. get_font ( font_filepaths , hinting_factor = None ) [fonte] #

Ottieni un ft2font.FT2Fontoggetto dato un elenco di percorsi di file.

Parametri :
font_filepaths Iterable[str, Percorso, byte], str, Percorso, byte

Percorsi relativi o assoluti ai file di font da utilizzare.

Se si tratta di una singola stringa, byte o pathlib.Path, verrà trattata come un elenco con solo quella voce.

Se viene passato più di un percorso file, l'oggetto FT2Font restituito eseguirà il fallback attraverso i caratteri, nell'ordine indicato, per trovare un glifo necessario.

Resi :
ft2font.FT2Font
matplotlib.font_manager. get_font_names ( ) [fonte] #

Restituisce l'elenco dei font disponibili.

matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [fonte] #

[ Deprecato ] Elenca i nomi dei file dei font noti per fc-listavere l'estensione specificata.

Appunti

Deprecato dalla versione 3.5.

matplotlib.font_manager. get_fonttext_synonyms ( fontext ) [fonte] #

Restituisce un elenco di estensioni di file che sono sinonimi dell'estensione di file specificata fileext .

matplotlib.font_manager. is_opentype_cff_font ( nome file ) [fonte] #

Restituisce se il font specificato è un font Postscript Compact Font Format incorporato in un wrapper OpenType. Utilizzato dai backend PostScript e PDF che non possono creare sottoinsiemi di questi caratteri.

matplotlib.font_manager. json_dump ( dati , nome file ) [fonte] #

Scarica i dati come JSON nel file denominato filename .FontManager

Guarda anche

json_load

Appunti

I percorsi di file che sono figli del percorso dati Matplotlib (in genere, i caratteri forniti con Matplotlib) vengono archiviati in relazione a quel percorso dati (per rimanere validi su virtualenvs).

Questa funzione blocca temporaneamente il file di output per impedire a più processi di sovrascrivere l'output l'uno dell'altro.

matplotlib.font_manager. json_load ( nome file ) [fonte] #

Carica a FontManagerdal file JSON denominato filename .

Guarda anche

json_dump
matplotlib.font_manager. list_fonts ( directory , estensioni ) [fonte] #

Restituisce un elenco di tutti i caratteri che corrispondono a una delle estensioni, trovati in modo ricorsivo nella directory.

matplotlib.font_manager. ttfFontProperty ( carattere ) [fonte] #

Estrarre informazioni da un file di font TrueType.

Parametri :
fontFT2Font

Il file di font TrueType da cui verranno estratte le informazioni.

Resi :
FontEntry

Le proprietà del carattere estratto.

matplotlib.font_manager. win32FontDirectory ( ) [fonte] #

Restituisce la directory dei caratteri specificata dall'utente per Win32. Questo viene cercato dalla chiave di registro

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

Se la chiave non viene trovata, %WINDIR%\Fontsverrà restituita.

matplotlib.font_manager. win32InstalledFonts ( directory = None , fontext = 'ttf' ) [fonte] #

[ Deprecato ] Cerca i caratteri nella directory dei caratteri specificata o usa le directory di sistema se non ne sono fornite. Inoltre, vengono cercati i font utente installati. Per impostazione predefinita, viene restituito un elenco di nomi file di font TrueType o font AFM se fontext == 'afm'.

Appunti

Deprecato dalla versione 3.5.

classe matplotlib.font_manager. FontEntry ( fname : str = '' , name : str = '' , style : str = 'normal' , variant : str = 'normal' , weight : str = 'normal' , stretch : str = 'normal' , size : str = 'medio' ) #

Una classe per la memorizzazione delle proprietà Font.

Viene utilizzato durante la compilazione del dizionario di ricerca dei caratteri.