matplotlib.ft2font#
- class matplotlib.ft2font.FT2Font(self: matplotlib.ft2font.FT2Font, filename: object, hinting_factor: int = 8, *, _fallback_list: list[matplotlib.ft2font.FT2Font] | None = None, _kerning_factor: int = 0)#
Basen
Ein Objekt, das eine einzelne Schriftart darstellt.
Neben der Schriftart selbst und dem Abfragen ihrer Eigenschaften bietet dieses Objekt Methoden zur Verarbeitung von Textzeichenketten in Glyphenformen.
Typischerweise wird
FT2Font.set_textverwendet, um Glyphenmetriken und -umrisse zu laden. Anschließend könnenFT2Font.draw_glyphs_to_bitmapundFT2Font.get_imageverwendet werden, um eine gerenderte Form des geladenen Strings zu erhalten.Für einzelne Zeichen können
FT2Font.load_charoderFT2Font.load_glyphverwendet werden, entweder direkt für ihre Rückgabewerte oder umFT2Font.draw_glyph_to_bitmapoderFT2Font.get_pathzu verwenden.Nützliche Metriken können über die Rückgabewerte von
GlyphoderFT2Font.get_kerninguntersucht werden. Die meisten Abmessungen werden in 26,6 oder 16,6 Festkommazahlen dargestellt, die Subpixel repräsentieren. Teilen Sie diese Werte durch 64, um Gleitkomma-Pixel zu erhalten.- Parameter:
- filenamestr oder dateiähnlich
Die Quelle der Font-Daten in einem Format (ttf oder ttc), das FreeType lesen kann.
- hinting_factorint, optional
Muss positiv sein. Wird verwendet, um das Hinting in der x-Richtung zu skalieren.
- _fallback_listListe von FT2Font, optional
Eine Liste von FT2Font-Objekten, die zur Suche nach fehlenden Glyphen verwendet werden.
Warnung
Diese API ist sowohl privat als auch provisorisch: Verwenden Sie sie nicht direkt.
- _kerning_factorint, optional
Wird verwendet, um den Grad des Kerning anzupassen.
Warnung
Diese API ist privat: Verwenden Sie sie nicht direkt.
- property ascender#
Ascender in 26,6-Einheiten.
- property bbox#
Globale Bounding Box des Schriftgesichts (xmin, ymin, xmax, ymax).
- clear(self: matplotlib.ft2font.FT2Font) None#
Löscht alle Glyphen, zurücksetzen für einen neuen Aufruf von
set_text.
- property descender#
Descender in 26,6-Einheiten.
- draw_glyph_to_bitmap(self: matplotlib.ft2font.FT2Font, image: matplotlib.ft2font.FT2Image, x: float | int, y: float | int, glyph: matplotlib.ft2font.Glyph, *, antialiased: bool = True) None#
Zeichnet einen einzelnen Glyphen auf das Bitmap an den Pixelpositionen x, y.
Beachten Sie, dass es Ihre Verantwortung ist, das Bild manuell mit der richtigen Größe zu erstellen, bevor dieser Aufruf erfolgt.
Wenn Sie eine automatische Anordnung wünschen, verwenden Sie
set_textin Kombination mitdraw_glyphs_to_bitmap. Diese Funktion ist stattdessen für Personen gedacht, die einzelne Glyphen rendern möchten (z. B. vonload_charzurückgegeben) an präzisen Positionen.- Parameter:
- imageFT2Image
Der Bildpuffer, auf den der Glyphe gezeichnet werden soll.
- x, yint
Die Pixelposition, an der der Glyphe gezeichnet werden soll.
- glyphGlyph
Der zu zeichnende Glyphe.
- antialiasedbool, Standard: True
Ob Glyphen 8-Bit geglättet oder rein Schwarzweiß gerendert werden sollen.
Siehe auch
- draw_glyphs_to_bitmap(self: matplotlib.ft2font.FT2Font, *, antialiased: bool = True) None#
Zeichnet die von
set_textgeladenen Glyphen auf das Bitmap.Die Bitmapgröße wird automatisch so eingestellt, dass sie die Glyphen enthält.
- Parameter:
- antialiasedbool, Standard: True
Ob Glyphen 8-Bit geglättet oder rein Schwarzweiß gerendert werden sollen.
Siehe auch
- property family_name#
Familienname des Schriftgesichts.
- property fname#
Der ursprüngliche Dateiname für dieses Objekt.
- get_bitmap_offset(self: matplotlib.ft2font.FT2Font) tuple#
Ermittelt den (x, y)-Offset für das Bitmap, wenn Tinte links oder unten hängt (0, 0).
Da Matplotlib nur Links-nach-Rechts-Text unterstützt, ist y immer 0.
- Gibt zurück:
- x, yfloat
Der x- und y-Offset in 26,6 Subpixel des Bitmaps. Um x und y in Pixel zu erhalten, teilen Sie diese Werte durch 64.
Siehe auch
- get_char_index(self: matplotlib.ft2font.FT2Font, codepoint: int) int#
Gibt den Glyphenindex zurück, der einem Zeichen-Codepunkt entspricht.
- Parameter:
- codepointint
Ein Zeichen-Codepunkt in der aktuellen Charmap (standardmäßig Unicode).
- Gibt zurück:
- int
Der entsprechende Glyphenindex.
Siehe auch
- get_charmap(self: matplotlib.ft2font.FT2Font) dict#
Gibt eine Zuordnung von Zeichencodes zu Glyphenindizes im Font zurück.
Die Charmap ist standardmäßig Unicode, kann aber durch
set_charmapoderselect_charmapgeändert werden.- Gibt zurück:
- dict[int, int]
Ein Wörterbuch der ausgewählten Charmap, das Zeichencodes ihren entsprechenden Glyphenindizes zuordnet.
- get_descent(self: matplotlib.ft2font.FT2Font) int#
Ermittelt den Descender des aktuellen Strings, der durch
set_textgesetzt wurde.Die Rotation des Strings wird berücksichtigt.
- Gibt zurück:
- int
Der Descender in 26,6 Subpixel des Bitmaps. Um den Descender in Pixel zu erhalten, teilen Sie diese Werte durch 64.
Siehe auch
- get_glyph_name(self: matplotlib.ft2font.FT2Font, index: int) str#
Ruft den ASCII-Namen eines gegebenen Glyphen-*Index* in einem Schriftgesicht ab.
Aufgrund des internen Designs von Matplotlib gibt dies für Schriftarten, die keine Glyphennamen enthalten (gemäß
FT_FACE_FLAG_GLYPH_NAMES), einen erfundenen Namen zurück, der *nicht* überget_name_indexhin und her funktioniert.- Parameter:
- indexint
Die zu befragende Glyphennummer.
- Gibt zurück:
- str
Der Name des Glyphen oder, falls die Schriftart keine Namen enthält, ein von Matplotlib synthetisierter Name.
Siehe auch
- get_image(self: matplotlib.ft2font.FT2Font) numpy.ndarray#
Gibt den zugrunde liegenden Bildpuffer für dieses Schriftobjekt zurück.
- Gibt zurück:
- np.ndarray[int]
Siehe auch
- get_kerning(self: matplotlib.ft2font.FT2Font, left: int, right: int, mode: Kerning | int) int#
Ermittelt das Kerning zwischen zwei Glyphen.
- Parameter:
- left, rightint
Die Glyphenindizes. Beachten Sie, dass dies weder Zeichen noch Zeichencodes sind. Verwenden Sie
get_char_index, um Zeichencodes in Glyphenindizes umzuwandeln.- modeKerning
Eine Kerning-Moduskonstante
DEFAULT- Gibt skalierte und rasteroptimierte Kerning-Abstände zurück.UNFITTED- Gibt skalierte, aber nicht rasteroptimierte Kerning-Abstände zurück.UNSCALED- Gibt den Kerning-Vektor in den ursprünglichen Font-Einheiten zurück.
Geändert in Version 3.10: Dies nimmt jetzt einen
ft2font.Kerning-Wert anstelle einerint.
- Gibt zurück:
- int
Die Kerning-Anpassung zwischen den beiden Glyphen.
- get_name_index(self: matplotlib.ft2font.FT2Font, name: str) int#
Gibt den Glyphenindex eines gegebenen Glyphen-*Namens* zurück.
- Parameter:
- namestr
Der Name des abzufragenden Glyphen.
- Gibt zurück:
- int
Der entsprechende Glyphenindex; 0 bedeutet 'undefinierter Zeichencode'.
Siehe auch
- get_num_glyphs(self: matplotlib.ft2font.FT2Font) int#
Gibt die Anzahl der geladenen Glyphen zurück.
- get_path(self: matplotlib.ft2font.FT2Font) tuple#
Ermittelt die Pfaddaten des aktuell geladenen Glyphen.
- Gibt zurück:
- verticesnp.ndarray[double]
Das (N, 2)-Array von Vertices, das den aktuellen Glyphen beschreibt.
- codesnp.ndarray[np.uint8]
Das (N,)-Array von Codes, die den Vertices entsprechen.
Siehe auch
- get_ps_font_info(self: matplotlib.ft2font.FT2Font) tuple#
Gibt die Informationen in der PS Font Info-Struktur zurück.
Weitere Informationen finden Sie in der FreeType-Dokumentation zu dieser Struktur.
- Gibt zurück:
- versionstr
- noticestr
- full_namestr
- family_namestr
- weightstr
- italic_angleint
- is_fixed_pitchbool
- underline_positionint
- underline_thicknessint
- get_sfnt(self: matplotlib.ft2font.FT2Font) dict#
Lädt die gesamte SFNT-Namens-Tabelle.
- Gibt zurück:
- dict[tuple[int, int, int, int], bytes]
Die SFNT-Namens-Tabelle; die Schlüssel des Wörterbuchs sind Tupel von
(Plattform-ID, ISO-Kodierungsschema, Sprachcode, Beschreibung)
und die Werte sind die direkten Informationen aus der Font-Tabelle.
- get_sfnt_table(self: matplotlib.ft2font.FT2Font, name: str) dict | None#
Gibt eine der SFNT-Tabellen zurück.
- Parameter:
- name{"head", "maxp", "OS/2", "hhea", "vhea", "post", "pclt"}
Welche Tabelle zurückgegeben werden soll.
- Gibt zurück:
- dict[str, Any]
Die entsprechende Tabelle; weitere Informationen finden Sie in der FreeType-Dokumentation.
- get_width_height(self: matplotlib.ft2font.FT2Font) tuple#
Ermittelt die Abmessungen des aktuellen Strings, der durch
set_textgesetzt wurde.Die Rotation des Strings wird berücksichtigt.
- Gibt zurück:
- width, heightfloat
Die Breite und Höhe in 26,6 Subpixel des aktuellen Strings. Um Breite und Höhe in Pixel zu erhalten, teilen Sie diese Werte durch 64.
Siehe auch
- property height#
Höhe in 26,6 Einheiten; wird zur Berechnung eines Standard-Zeilenabstands (Abstand von Grundlinie zu Grundlinie) verwendet.
- load_char(self: matplotlib.ft2font.FT2Font, charcode: int, flags: Union[LoadFlags, int] = <LoadFlags.FORCE_AUTOHINT: 32>) matplotlib.ft2font.Glyph#
Lädt ein Zeichen in der aktuellen Schriftdatei und setzt den Glyphen.
- Parameter:
- charcodeint
Der Zeichencode, für den Rendering-Informationen vorbereitet werden sollen. Dieser Code muss in der Charmap vorhanden sein, andernfalls kann stattdessen ein
.notdef-Glyph zurückgegeben werden.- flagsLoadFlags, Standard:
LoadFlags.FORCE_AUTOHINT Jede bitweise ODER-Kombination der
LoadFlags.Geändert in Version 3.10: Dies nimmt jetzt ein
ft2font.LoadFlagsanstelle einer int.
- Gibt zurück:
- Glyph
Die Glypheninformationen, die dem angegebenen Zeichen entsprechen.
Siehe auch
- load_glyph(self: matplotlib.ft2font.FT2Font, glyph_index: int, flags: Union[LoadFlags, int] = <LoadFlags.FORCE_AUTOHINT: 32>) matplotlib.ft2font.Glyph#
Lädt den Glyphenindex in der aktuellen Schriftdatei und setzt den Glyphen.
Beachten Sie, dass der Glyphenindex spezifisch für eine Schriftart ist und nicht universell wie ein Unicode-Codepunkt.
- Parameter:
- glyph_indexint
Der Glyphenindex, für den Rendering-Informationen vorbereitet werden sollen.
- flagsLoadFlags, Standard:
LoadFlags.FORCE_AUTOHINT Jede bitweise ODER-Kombination der
LoadFlags.Geändert in Version 3.10: Dies nimmt jetzt ein
ft2font.LoadFlagsanstelle einer int.
- Gibt zurück:
- Glyph
Die Glypheninformationen, die dem angegebenen Index entsprechen.
Siehe auch
- property max_advance_height#
Maximale vertikale Cursor-Vorschub für alle Glyphen.
- property max_advance_width#
Maximale horizontale Cursor-Vorschub für alle Glyphen.
- property num_charmaps#
Anzahl der Zeichensätze (charmaps) in der Schriftart.
- property num_faces#
Anzahl der Schnitte (faces) in der Datei.
- property num_fixed_sizes#
Anzahl der Bitmaps in der Schriftart.
- property num_glyphs#
Anzahl der Glyphen in der Schriftart.
- property num_named_instances#
Anzahl der benannten Instanzen in der Schriftart.
- property postscript_name#
PostScript-Name der Schriftart.
- property scalable#
Gibt an, ob der Schnitt skalierbar ist; Attribute nach diesem sind nur für skalierbare Schnitte definiert.
- select_charmap(self: matplotlib.ft2font.FT2Font, i: int) None#
Wählt einen Zeichensatz anhand seiner FT_Encoding-Nummer aus.
Weitere Details zur Zeichenkodierung finden Sie in der FreeType-Dokumentation.
- Parameter:
- iint
Der Zeichensatz in der von FreeType definierten Form: https://freetype.org/freetype2/docs/reference/ft2-character_mapping.html#ft_encoding
Siehe auch
- set_charmap(self: matplotlib.ft2font.FT2Font, i: int) None#
Macht den i-ten Zeichensatz zum aktuellen.
Weitere Details zur Zeichenkodierung finden Sie in der FreeType-Dokumentation.
- Parameter:
- iint
Die Zeichensatznummer im Bereich [0,
num_charmaps).
Siehe auch
- set_size(self: matplotlib.ft2font.FT2Font, ptsize: float, dpi: float) None#
Legt die Größe des Textes fest.
- Parameter:
- ptsizefloat
Die Textgröße in Punkten.
- dpifloat
Die für das Rendern des Textes verwendete DPI.
- set_text(self: matplotlib.ft2font.FT2Font, string: str, angle: float = 0.0, flags: Union[LoadFlags, int] = <LoadFlags.FORCE_AUTOHINT: 32>) numpy.ndarray[numpy.float64]#
Legt den Text-String und den Winkel fest.
Dies muss vor
draw_glyphs_to_bitmapaufgerufen werden.- Parameter:
- stringstr
Der Text, für den Rendering-Informationen vorbereitet werden sollen.
- anglefloat
Der Winkel, in dem der bereitgestellte Text gerendert werden soll.
- flagsLoadFlags, Standard:
LoadFlags.FORCE_AUTOHINT Jede bitweise ODER-Kombination der
LoadFlags.Geändert in Version 3.10: Dies nimmt jetzt ein
ft2font.LoadFlagsanstelle einer int.
- Gibt zurück:
- np.ndarray[double]
Eine Sequenz von x,y-Glyphenpositionen in 26.6 Subpixeln; dividieren Sie durch 64 für Pixel.
- property style_flags#
Stil-Flags; siehe
StyleFlags.
- property style_name#
Stilname.
- property underline_position#
Vertikale Position der Unterstreichungsleiste.
- property underline_thickness#
Dicke der Unterstreichungsleiste.
- property units_per_EM#
Anzahl der Schriftarteinheiten, die das EM abdecken.
- class matplotlib.ft2font.FT2Image(self: matplotlib.ft2font.FT2Image, width: float | int, height: float | int)#
Basen
Ein Bildpuffer zum Zeichnen von Glyphen.
- Parameter:
- width, heightint
Die Abmessungen des Bildpuffers.
- class matplotlib.ft2font.FaceFlags(*values)#
Basiert auf:
FlagFlags, die von
FT2Font.face_flagszurückgegeben werden.Weitere Informationen finden Sie in der FreeType-Dokumentation.
Hinzugefügt in Version 3.10.
- CID_KEYED = 4096#
- COLOR = 16384#
- EXTERNAL_STREAM = 1024#
- FAST_GLYPHS = 128#
- FIXED_SIZES = 2#
- FIXED_WIDTH = 4#
- GLYPH_NAMES = 512#
- HINTER = 2048#
- HORIZONTAL = 16#
- KERNING = 64#
- MULTIPLE_MASTERS = 256#
- SCALABLE = 1#
- SFNT = 8#
- TRICKY = 8192#
- VERTICAL = 32#
- class matplotlib.ft2font.Glyph(self: matplotlib.ft2font.Glyph)#
Basen
Informationen zu einer einzelnen Glyphe.
Sie können keine Instanzen dieses Objekts selbst erstellen, sondern müssen
FT2Font.load_charoderFT2Font.load_glyphverwenden, um eine zu generieren. Dieses Objekt kann in einem Aufruf vonFT2Font.draw_glyph_to_bitmapverwendet werden.Weitere Informationen zu den verschiedenen Metriken finden Sie in der FreeType-Dokumentation.
- property bbox#
Das Begrenzungsrechteck der Glyphe.
- property height#
Die Höhe der Glyphe.
- property horiAdvance#
Vorschubbreite für horizontales Layout.
- property horiBearingX#
Linker Seitenabstand für horizontales Layout.
- property horiBearingY#
Oberer Seitenabstand für horizontales Layout.
- property linearHoriAdvance#
Die Vorschubbreite der nicht gehinterten Glyphe.
- property vertAdvance#
Vorschubhöhe für vertikales Layout.
- property vertBearingX#
Linker Seitenabstand für vertikales Layout.
- property vertBearingY#
Oberer Seitenabstand für vertikales Layout.
- property width#
Die Breite der Glyphe.
- class matplotlib.ft2font.Kerning(*values)#
Basiert auf
EnumKerning-Modi für
FT2Font.get_kerning.Weitere Informationen finden Sie in der FreeType-Dokumentation.
Hinzugefügt in Version 3.10.
- DEFAULT = 0#
- UNFITTED = 1#
- UNSCALED = 2#
- class matplotlib.ft2font.LoadFlags(*values)#
Basiert auf:
FlagFlags für
FT2Font.load_char,FT2Font.load_glyphundFT2Font.set_text.Weitere Informationen finden Sie in der FreeType-Dokumentation.
Hinzugefügt in Version 3.10.
- COLOR = 1048576#
- COMPUTE_METRICS = 2097152#
- CROP_BITMAP = 64#
- DEFAULT = 0#
- FORCE_AUTOHINT = 32#
- IGNORE_GLOBAL_ADVANCE_WIDTH = 512#
- IGNORE_TRANSFORM = 2048#
- LINEAR_DESIGN = 8192#
- MONOCHROME = 4096#
- NO_AUTOHINT = 32768#
- NO_BITMAP = 8#
- NO_HINTING = 2#
- NO_RECURSE = 1024#
- NO_SCALE = 1#
- PEDANTIC = 128#
- RENDER = 4#
- TARGET_LCD = 196608#
- TARGET_LCD_V = 262144#
- TARGET_LIGHT = 65536#
- TARGET_MONO = 131072#
- TARGET_NORMAL = 0#
- VERTICAL_LAYOUT = 16#
- class matplotlib.ft2font.StyleFlags(*values)#
Basiert auf:
FlagFlags, die von
FT2Font.style_flagszurückgegeben werden.Weitere Informationen finden Sie in der FreeType-Dokumentation.
Hinzugefügt in Version 3.10.
- BOLD = 2#
- ITALIC = 1#
- NORMAL = 0#