matplotlib.font_manager
#
Un modulo per trovare, gestire e utilizzare i caratteri su più piattaforme.
Questo modulo fornisce una singola FontManager
istanza, 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 FontManager
file 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'
FontManager
istanza singleton crea un elenco di caratteri ttf e afm e memorizza nella cache i loro fileFontProperties
. IlFontManager.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 o
FontProperties
Le proprietà del carattere da cercare. Questo può essere un
FontProperties
oggetto 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).
- prop str o
- 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.
- 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.
- 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 astr
) al carattere kwargText
dell'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.
- 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_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_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
Guarda anche
- 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.
- size float o {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default:
- set_slant ( style ) [fonte] #
Imposta lo stile del carattere.
- Parametri :
- style {'normal', 'italic', 'oblique'}, default:
rcParams["font.style"]
(default:'normal'
)
- style {'normal', 'italic', 'oblique'}, default:
- 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.
- stretch int o {'ultra-condensato', 'extra-condensato', 'condensato', 'semi-condensato', 'normale', 'semi-espanso', 'espanso', 'extra-espanso', 'ultra-espanso '}, predefinito:
- set_style ( stile ) [fonte] #
Imposta lo stile del carattere.
- Parametri :
- style {'normal', 'italic', 'oblique'}, default:
rcParams["font.style"]
(default:'normal'
)
- style {'normal', 'italic', 'oblique'}, default:
- set_variant ( variante ) [fonte] #
Imposta la variante del carattere.
- Parametri :
- variant {'normal', 'small-caps'}, predefinito:
rcParams["font.variant"]
(predefinito:'normal'
)
- variant {'normal', 'small-caps'}, predefinito:
- 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.
- peso int o {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra grassetto', 'nero'}, predefinito:
- 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 o
FontProperties
Le proprietà del carattere da cercare. Questo può essere un
FontProperties
oggetto 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).
- prop str o
- 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.FT2Font
oggetto 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 :
- matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [fonte] #
[ Deprecato ] Elenca i nomi dei file dei font noti per
fc-list
avere 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
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
FontManager
dal file JSON denominato filename .Guarda anche
- 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.
- 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%\Fonts
verrà 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.