matplotlib.font_manager
#
Ein Modul zum plattformübergreifenden Suchen, Verwalten und Verwenden von Schriftarten.
Dieses Modul stellt eine einzelne FontManager
Instanz bereit fontManager
, die von Backends und Plattformen gemeinsam genutzt werden kann. Die findfont
Funktion gibt die beste TrueType (TTF)-Schriftartdatei im lokalen oder Systemschriftartpfad zurück, die der angegebenen FontProperties
Instanz entspricht. Der FontManager
verarbeitet auch Adobe Font Metrics (AFM)-Schriftartendateien zur Verwendung durch das PostScript-Backend.
Das Design basiert auf der Schriftspezifikation des W3C Cascading Style Sheet, Level 1 (CSS1) . Zukünftige Versionen können die Spezifikationen von Level 2 oder 2.1 implementieren.
- Klasse matplotlib.font_manager. FontManager ( Größe = None , Gewicht = 'normal' ) [Quelle] #
Basen:
object
Beim Import
FontManager
erstellt die Singleton-Instanz eine Liste mit ttf- und afm-Schriftarten und speichert ihreFontProperties
. DasFontManager.findfont
Verfahren führt eine Suche nach dem nächsten Nachbarn durch, um die Schriftart zu finden, die der Spezifikation am besten entspricht. Wenn keine ausreichend gute Übereinstimmung gefunden wird, wird die Standardschriftart zurückgegeben.- addfont ( Pfad ) [Quelle] #
Cachen Sie die Eigenschaften der Schriftart unter Pfad , um sie für die
FontManager
. Die Art der Schriftart wird aus dem Pfad-Suffix abgeleitet.- Parameter :
- path str oder path-like
- Eigenschaft defaultFont #
- findfont ( prop , fontext = 'ttf' , Verzeichnis = None , fallback_to_default = True , rebuild_if_missing = True ) [Quelle] #
Finden Sie eine Schriftart, die den angegebenen Schriftarteigenschaften am ehesten entspricht.
- Parameter :
- prop str oder
FontProperties
Die Schriftarteigenschaften, nach denen gesucht werden soll. Dies kann entweder ein
FontProperties
Objekt oder ein String sein, der ein Fontconfig-Muster definiert .- fontext {'ttf', 'afm'}, Standard: 'ttf'
Die Erweiterung der Schriftartdatei:
'ttf': TrueType- und OpenType-Schriftarten (.ttf, .ttc, .otf)
„afm“: Adobe Font-Metriken (.afm)
- Verzeichnisstr , optional
Falls angegeben, nur dieses Verzeichnis und seine Unterverzeichnisse durchsuchen.
- fallback_to_default bool
Bei True wird auf die Standardschriftfamilie (normalerweise „DejaVu Sans“ oder „Helvetica“) zurückgegriffen, wenn die erste Suche fehlschlägt.
- rebuild_if_missing bool
Ob der Schriftart-Cache neu erstellt und erneut gesucht werden soll, wenn die erste Übereinstimmung auf eine nicht vorhandene Schriftart zu verweisen scheint (dh der Schriftart-Cache enthält veraltete Einträge).
- prop str oder
- Rückgaben :
- Str
Der Dateiname der am besten passenden Schriftart.
Anmerkungen
Dies führt eine Suche nach dem nächsten Nachbarn durch. Jeder Schriftart wird ein Ähnlichkeitswert zu den Eigenschaften der Zielschriftart zugewiesen. Die erste Schriftart mit der höchsten Punktzahl wird zurückgegeben. Wenn keine Übereinstimmungen unterhalb eines bestimmten Schwellenwerts gefunden werden, wird die Standardschriftart (normalerweise DejaVu Sans) zurückgegeben.
Das Ergebnis wird zwischengespeichert, sodass nachfolgende Suchen nicht die O(n)-Suche nach dem nächsten Nachbarn durchführen müssen.
Siehe die W3C Cascading Style Sheet, Level 1- Dokumentation für eine Beschreibung des Font-Suchalgorithmus.
- score_family ( familien , familie2 ) [Quelle] #
Gibt einen Übereinstimmungswert zwischen der Liste der Schriftfamilien in Familien und dem Namen der Schriftfamilie family2 zurück .
Eine exakte Übereinstimmung am Anfang der Liste gibt 0,0 zurück.
Eine Übereinstimmung weiter unten in der Liste wird zwischen 0 und 1 zurückgegeben.
Keine Übereinstimmung gibt 1,0 zurück.
- score_size ( size1 , size2 ) [Quelle] #
Gibt einen Match-Score zwischen size1 und size2 zurück .
Wenn size2 (die in der Schriftdatei angegebene Größe) 'skalierbar' ist, gibt diese Funktion immer 0,0 zurück, da jede beliebige Schriftgröße generiert werden kann.
Andernfalls ist das Ergebnis der absolute Abstand zwischen size1 und size2 , normalisiert, sodass der übliche Bereich von Schriftgrößen (6pt - 72pt) zwischen 0,0 und 1,0 liegt.
- score_stretch ( stretch1 , stretch2 ) [Quelle] #
Gibt einen Match-Score zwischen stretch1 und stretch2 zurück .
Das Ergebnis ist der absolute Wert der Differenz zwischen den numerischen CSS-Werten von stretch1 und stretch2 , normalisiert zwischen 0,0 und 1,0.
- score_style ( style1 , style2 ) [Quelle] #
Gibt einen Übereinstimmungswert zwischen style1 und style2 zurück .
Eine exakte Übereinstimmung gibt 0,0 zurück.
Eine Übereinstimmung zwischen „italic“ und „oblique“ gibt 0,1 zurück.
Keine Übereinstimmung gibt 1,0 zurück.
- score_variant ( Variante1 , Variante2 ) [Quelle] #
Gibt eine Übereinstimmungsbewertung zwischen Variante1 und Variante2 zurück .
Eine exakte Übereinstimmung gibt 0,0 zurück, andernfalls 1,0.
- score_weight ( Gewicht1 , Gewicht2 ) [Quelle] #
Gibt einen Match-Score zwischen weight1 und weight2 zurück .
Das Ergebnis ist 0,0, wenn sowohl Gewicht1 als auch Gewicht 2 als Zeichenfolgen angegeben werden und den gleichen Wert haben.
Andernfalls ist das Ergebnis der absolute Wert der Differenz zwischen den numerischen CSS-Werten von weight1 und weight2 , normalisiert zwischen 0,05 und 1,0.
- Klasse matplotlib.font_manager. FontProperties ( family = None , style = None , variation = None , weight = None , stretch = None , size = None , fname = None , math_fontfamily = None ) [source] #
Basen:
object
Eine Klasse zum Speichern und Bearbeiten von Schriftarteigenschaften.
Die Schrifteigenschaften sind die sechs Eigenschaften, die im W3C Cascading Style Sheet, Level 1 Font Specification und math_fontfamily für mathematische Schriftarten beschrieben sind:
Familie: Eine Liste von Schriftnamen in absteigender Prioritätsreihenfolge. Die Elemente können einen generischen Schriftfamiliennamen enthalten, entweder „Sans-Serif“, „Serif“, „Cursive“, „Fantasy“ oder „Monospace“. In diesem Fall wird während des Suchvorgangs in die tatsächlich zu verwendende Schriftart aus dem zugehörigen rcParam nachgeschlagen
findfont
. Standard:rcParams["font.family"]
(Standard:['sans-serif']
)Stil: Entweder 'normal', 'kursiv' oder 'schräg'. Standard:
rcParams["font.style"]
(Standard:'normal'
)Variante: Entweder 'normal' oder 'small-caps'. Standard:
rcParams["font.variant"]
(Standard:'normal'
)stretch: Ein numerischer Wert im Bereich 0-1000 oder einer von 'ultra-kondensiert', 'extra-kondensiert', 'kondensiert', 'semi-kondensiert', 'normal', 'semi-expanded', 'expanded', 'extra-expandiert' oder 'ultra-expandiert'. Standard:
rcParams["font.stretch"]
(Standard:'normal'
)Gewicht: Ein numerischer Wert im Bereich 0–1000 oder einer von „ultralight“, „light“, „normal“, „regular“, „book“, „medium“, „roman“, „semibold“, „demibold“, 'halb', 'fett', 'schwer', 'extra fett', 'schwarz'. Standard:
rcParams["font.weight"]
(Standard:'normal'
)Größe: Entweder ein relativer Wert von 'xx-klein', 'x-klein', 'klein', 'mittel', 'groß', 'x-groß', 'xx-groß' oder eine absolute Schriftgröße, z. 10. Standard:
rcParams["font.size"]
(Standard:10.0
)math_fontfamily: Die Schriftartenfamilie, die zum Rendern von mathematischem Text verwendet wird. Unterstützte Werte sind: „dejavusans“, „dejavuserif“, „cm“, „stix“, „stixsans“ und „custom“. Standard:
rcParams["mathtext.fontset"]
(Standard:'dejavusans'
)
Alternativ kann eine Schriftart unter Verwendung des absoluten Pfads zu einer Schriftartdatei angegeben werden, indem der fname kwarg verwendet wird. In diesem Fall ist es jedoch in der Regel einfacher, den Pfad (als
pathlib.Path
, nicht alsstr
) an die Schriftart kwarg desText
Objekts zu übergeben.Die bevorzugte Verwendung von Schriftgrößen besteht darin, die relativen Werte, z. B. „groß“, anstelle absoluter Schriftgrößen, z. B. 12, zu verwenden. Dieser Ansatz ermöglicht es, alle Textgrößen basierend auf der Standardschriftgröße des Schriftartmanagers größer oder kleiner zu machen.
Diese Klasse akzeptiert auch ein fontconfig -Muster , wenn dies das einzige bereitgestellte Argument ist. Diese Unterstützung hängt nicht von fontconfig ab; wir leihen uns hier lediglich seine Mustersyntax aus.
Beachten Sie, dass der interne Font-Manager und Fontconfig von Matplotlib einen anderen Algorithmus zum Suchen von Schriftarten verwenden, sodass die Ergebnisse desselben Musters in Matplotlib anders sein können als in anderen Anwendungen, die Fontconfig verwenden.
- get_family ( ) [Quelle] #
Gibt eine Liste individueller Schriftfamiliennamen oder generischer Familiennamen zurück.
Die Schriftfamilien oder generischen Schriftfamilien (die bei der Suche nach einer passenden Schrift aus ihren jeweiligen rcParams aufgelöst werden) in der bevorzugten Reihenfolge.
- get_fontconfig_pattern ( ) [Quelle] #
Holen Sie sich ein Fontconfig -Muster , das zum Suchen der Schriftart geeignet ist, wie mit dem
fc-match
Dienstprogramm von Fontconfig angegeben.Diese Unterstützung hängt nicht von fontconfig ab; wir leihen uns hier lediglich seine Mustersyntax aus.
- get_math_fontfamily ( ) [Quelle] #
Gibt den Namen der Schriftartfamilie zurück, die für mathematischen Text verwendet wird.
Die Standardschrift ist
rcParams["mathtext.fontset"]
(Standard:'dejavusans'
).
- get_name ( ) [Quelle] #
Gibt den Namen der Schriftart zurück, die den Schriftarteigenschaften am besten entspricht.
- get_stretch ( ) [Quelle] #
Gibt die Schriftdehnung oder -breite zurück. Optionen sind: 'ultra-kondensiert', 'extra-kondensiert', 'kondensiert', 'semi-kondensiert', 'normal', 'semi-expandiert', 'expandiert', 'extra-expandiert', 'ultra-expandiert' .
- get_variant ( ) [Quelle] #
Geben Sie die Schriftartvariante zurück. Werte sind: 'normal' oder 'Small-Caps'.
- get_weight ( ) [Quelle] #
Legen Sie die Schriftstärke fest. Optionen sind: Ein numerischer Wert im Bereich 0-1000 oder einer von „light“, „normal“, „regular“, „book“, „medium“, „roman“, „semibold“, „demibold“, „demi“ , 'fett', 'schwer', 'extra fett', 'schwarz'
- set_family ( Familie ) [Quelle] #
Ändern Sie die Schriftfamilie. Kann entweder ein Alias sein (allgemeiner Name ist CSS-Jargon), wie z. B.: „serif“, „sans-serif“, „cursive“, „fantasy“ oder „monospace“, ein echter Schriftname oder eine Liste echter Schriftnamen . Echte Schriftnamen werden nicht unterstützt, wenn
rcParams["text.usetex"]
(Standard:False
)True
. Standard:rcParams["font.family"]
(Standard:['sans-serif']
)
- set_file ( Datei ) [Quelle] #
Legen Sie den Dateinamen der zu verwendenden Schriftdatei fest. In diesem Fall werden alle anderen Eigenschaften ignoriert.
- set_fontconfig_pattern ( Muster ) [Quelle] #
Legen Sie die Eigenschaften fest, indem Sie ein Fontconfig -Muster analysieren .
Diese Unterstützung hängt nicht von fontconfig ab; wir leihen uns hier lediglich seine Mustersyntax aus.
- set_math_fontfamily ( Schriftfamilie ) [Quelle] #
Stellen Sie die Schriftfamilie für Text im mathematischen Modus ein.
Wenn nicht explizit gesetzt, wird
rcParams["mathtext.fontset"]
(Standard:'dejavusans'
) verwendet.- Parameter :
- Schriftfamilie str
Der Name der Schriftfamilie.
Verfügbare Schriftfamilien sind hier in der Datei matplotlibrc.template definiert
Siehe auch
- set_name ( Familie ) [Quelle] #
Ändern Sie die Schriftfamilie. Kann entweder ein Alias sein (allgemeiner Name ist CSS-Jargon), wie z. B.: „serif“, „sans-serif“, „cursive“, „fantasy“ oder „monospace“, ein echter Schriftname oder eine Liste echter Schriftnamen . Echte Schriftnamen werden nicht unterstützt, wenn
rcParams["text.usetex"]
(Standard:False
)True
. Standard:rcParams["font.family"]
(Standard:['sans-serif']
)
- set_size ( Größe ) [Quelle] #
Legen Sie die Schriftgröße fest.
- Parameter :
- size float oder {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, Standard:
rcParams["font.size"]
(Standard:10.0
) Bei Float die Schriftgröße in Punkten. Die Zeichenfolgenwerte geben Größen relativ zur Standardschriftgröße an.
- size float oder {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, Standard:
- set_slant ( Stil ) [Quelle] #
Legen Sie den Schriftstil fest.
- Parameter :
- Stil {'normal', 'kursiv', 'schräg'}, Standard:
rcParams["font.style"]
(Standard:'normal'
)
- Stil {'normal', 'kursiv', 'schräg'}, Standard:
- set_stretch ( strecken ) [Quelle] #
Legen Sie die Schriftdehnung oder -breite fest.
- Parameter :
- stretch int oder {'ultra-kondensiert', 'extra-kondensiert', 'kondensiert', 'semi-kondensiert', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded '}, Standard:
rcParams["font.stretch"]
(Standard:'normal'
) Wenn int, muss im Bereich 0-1000 liegen.
- stretch int oder {'ultra-kondensiert', 'extra-kondensiert', 'kondensiert', 'semi-kondensiert', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded '}, Standard:
- set_style ( Stil ) [Quelle] #
Legen Sie den Schriftstil fest.
- Parameter :
- Stil {'normal', 'kursiv', 'schräg'}, Standard:
rcParams["font.style"]
(Standard:'normal'
)
- Stil {'normal', 'kursiv', 'schräg'}, Standard:
- set_variant ( Variante ) [Quelle] #
Stellen Sie die Schriftartvariante ein.
- Parameter :
- Variante {'normal', 'Small-Caps'}, Standard:
rcParams["font.variant"]
(Standard:'normal'
)
- Variante {'normal', 'Small-Caps'}, Standard:
- set_weight ( Gewicht ) [Quelle] #
Legen Sie die Schriftstärke fest.
- Parameter :
- Gewicht int oder {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra fett', 'schwarz'}, Standard:
rcParams["font.weight"]
(Standard:'normal'
) Wenn int, muss im Bereich 0-1000 liegen.
- Gewicht int oder {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra fett', 'schwarz'}, Standard:
- matplotlib.font_manager. afmFontProperty ( Schriftpfad , Schriftart ) [Quelle] #
Informationen aus einer AFM-Schriftartdatei extrahieren.
- Parameter :
- Schriftart AFM
Die AFM-Schriftartdatei, aus der Informationen extrahiert werden.
- Rückgaben :
FontEntry
Die extrahierten Schrifteigenschaften.
- matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontext = 'ttf' ) [source] #
Suche nach Schriften in den angegebenen Schriftpfaden. Wenn keine Pfade angegeben sind, wird ein Standardsatz von Systempfaden sowie die Liste der Schriftarten verwendet, die von fontconfig verfolgt werden, wenn fontconfig installiert und verfügbar ist. Eine Liste von TrueType-Schriftarten wird standardmäßig mit AFM-Schriftarten als Option zurückgegeben.
- matplotlib.font_manager. findfont ( prop , fontext = 'ttf' , Verzeichnis = None , fallback_to_default = True , rebuild_if_missing = True ) [Quelle] #
Finden Sie eine Schriftart, die den angegebenen Schriftarteigenschaften am ehesten entspricht.
- Parameter :
- prop str oder
FontProperties
Die Schriftarteigenschaften, nach denen gesucht werden soll. Dies kann entweder ein
FontProperties
Objekt oder ein String sein, der ein Fontconfig-Muster definiert .- fontext {'ttf', 'afm'}, Standard: 'ttf'
Die Erweiterung der Schriftartdatei:
'ttf': TrueType- und OpenType-Schriftarten (.ttf, .ttc, .otf)
„afm“: Adobe Font-Metriken (.afm)
- Verzeichnisstr , optional
Falls angegeben, nur dieses Verzeichnis und seine Unterverzeichnisse durchsuchen.
- fallback_to_default bool
Bei True wird auf die Standardschriftfamilie (normalerweise „DejaVu Sans“ oder „Helvetica“) zurückgegriffen, wenn die erste Suche fehlschlägt.
- rebuild_if_missing bool
Ob der Schriftart-Cache neu erstellt und erneut gesucht werden soll, wenn die erste Übereinstimmung auf eine nicht vorhandene Schriftart zu verweisen scheint (dh der Schriftart-Cache enthält veraltete Einträge).
- prop str oder
- Rückgaben :
- Str
Der Dateiname der am besten passenden Schriftart.
Anmerkungen
Dies führt eine Suche nach dem nächsten Nachbarn durch. Jeder Schriftart wird ein Ähnlichkeitswert zu den Eigenschaften der Zielschriftart zugewiesen. Die erste Schriftart mit der höchsten Punktzahl wird zurückgegeben. Wenn keine Übereinstimmungen unterhalb eines bestimmten Schwellenwerts gefunden werden, wird die Standardschriftart (normalerweise DejaVu Sans) zurückgegeben.
Das Ergebnis wird zwischengespeichert, sodass nachfolgende Suchen nicht die O(n)-Suche nach dem nächsten Nachbarn durchführen müssen.
Siehe die W3C Cascading Style Sheet, Level 1- Dokumentation für eine Beschreibung des Font-Suchalgorithmus.
- matplotlib.font_manager. get_font ( font_filepaths , hinting_factor = None ) [Quelle] #
Holen Sie sich ein
ft2font.FT2Font
Objekt mit einer Liste von Dateipfaden.- Parameter :
- font_filepaths Iterable[str, Pfad, Bytes], str, Pfad, Bytes
Relative oder absolute Pfade zu den zu verwendenden Schriftdateien.
Wenn es sich um eine einzelne Zeichenfolge, Bytes oder
pathlib.Path
handelt, wird es nur mit diesem Eintrag als Liste behandelt.Wenn mehr als ein Dateipfad übergeben wird, durchsucht das zurückgegebene FT2Font-Objekt die Schriftarten in der angegebenen Reihenfolge, um eine benötigte Glyphe zu finden.
- Rückgaben :
- matplotlib.font_manager. get_font_names ( ) [Quelle] #
Gibt die Liste der verfügbaren Schriftarten zurück.
- matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [Quelle] #
[ Veraltet ] Listet Schriftdateinamen auf, von denen bekannt ist,
fc-list
dass sie die angegebene Erweiterung haben.Anmerkungen
Veraltet seit Version 3.5.
- matplotlib.font_manager. get_fontext_synonyms ( fontext ) [Quelle] #
Gibt eine Liste von Dateierweiterungen zurück, die Synonyme für die angegebene Dateierweiterung fileext sind .
- matplotlib.font_manager. is_opentype_cff_font ( Dateiname ) [Quelle] #
Gibt zurück, ob die angegebene Schriftart eine Schriftart im Postscript Compact Font Format ist, die in einen OpenType-Wrapper eingebettet ist. Wird von den PostScript- und PDF-Backends verwendet, die diese Schriftarten nicht unterteilen können.
- matplotlib.font_manager. json_dump ( Daten , Dateiname ) [Quelle] #
Daten als JSON in die Datei mit dem Namen Dateiname ausgeben .
FontManager
Siehe auch
Anmerkungen
Dateipfade, die Kinder des Matplotlib-Datenpfads sind (normalerweise mit Matplotlib gelieferte Schriftarten), werden relativ zu diesem Datenpfad gespeichert (um über virtualenvs hinweg gültig zu bleiben).
Diese Funktion sperrt vorübergehend die Ausgabedatei, um zu verhindern, dass mehrere Prozesse die Ausgabe eines anderen überschreiben.
- matplotlib.font_manager. json_load ( Dateiname ) [Quelle] #
Laden Sie eine
FontManager
aus der JSON-Datei mit dem Namen filename .Siehe auch
- matplotlib.font_manager. list_fonts ( Verzeichnis , Erweiterungen ) [Quelle] #
Gibt eine Liste aller Schriftarten zurück, die mit einer der Erweiterungen übereinstimmen, die rekursiv unter dem Verzeichnis gefunden werden.
- matplotlib.font_manager. ttfFontProperty ( Schriftart ) [Quelle] #
Informationen aus einer TrueType-Schriftartdatei extrahieren.
- matplotlib.font_manager. win32FontDirectory ( ) [Quelle] #
Gibt das benutzerdefinierte Schriftartenverzeichnis für Win32 zurück. Dies wird aus dem Registrierungsschlüssel nachgeschlagen
\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts
Wenn der Schlüssel nicht gefunden wird,
%WINDIR%\Fonts
wird zurückgegeben.
- matplotlib.font_manager. win32InstalledFonts ( Verzeichnis = None , Fontext = 'ttf' ) [Quelle] #
[ Veraltet ] Suchen Sie nach Schriftarten im angegebenen Schriftartenverzeichnis oder verwenden Sie die Systemverzeichnisse, falls keine vorhanden sind. Zusätzlich wird nach installierten Benutzerfonts gesucht. Standardmäßig wird eine Liste mit Dateinamen für TrueType-Schriftarten oder AFM-Schriftarten zurückgegeben, wenn fontext == 'afm'.
Anmerkungen
Veraltet seit Version 3.5.
- Klasse matplotlib.font_manager. FontEntry ( fname : str = '' , name : str = '' , style : str = 'normal' , variation : str = 'normal' , weight : str = 'normal' , stretch : str = 'normal' , size : str = 'mittel' ) #
Eine Klasse zum Speichern von Font-Eigenschaften.
Es wird verwendet, wenn das Font-Lookup-Wörterbuch gefüllt wird.