matplotlib.afm#

Aufmerksamkeit

Dieses Modul gilt als intern.

Seine Verwendung ist veraltet und wird in einer zukünftigen Version entfernt.

Eine Python-Schnittstelle zu Adobe Font Metrics Files.

Obwohl eine Reihe anderer Python-Implementierungen existieren und möglicherweise vollständiger sind als diese, wurde entschieden, sie nicht zu verwenden, da sie entweder:

  1. urheberrechtlich geschützt sind oder eine nicht-BSD-kompatible Lizenz verwendet haben

  2. hatte zu viele Abhängigkeiten und es wurde eine freistehende Bibliothek benötigt

  3. hat mehr getan als nötig, und es war einfacher, neu zu schreiben, als herauszufinden, wie man genau das bekommt, was man braucht.

Es ist ziemlich einfach zu bedienen und hat keine externen Abhängigkeiten:

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

Wie in der Adobe Font Metrics File Format Specification werden alle Abmessungen in Einheiten von 1/1000 des Skalierungsfaktors (Punktgröße) der verwendeten Schriftart angegeben.

Klasse matplotlib._afm. AFM ( fh ) [Quelle] #

Basen:object

Analysieren Sie die AFM-Datei im Dateiobjekt fh .

Eigenschaft Familienname #

Der Name der Schriftfamilie, z. B. „Times“.

get_angle ( ) [Quelle] #

Gibt den Fontangle als Float zurück.

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

Geben Sie die Kappenhöhe als Float zurück.

get_familyname ( ) [Quelle] #

Geben Sie den Namen der Schriftfamilie zurück, z. B. „Times“.

get_fontname ( ) [Quelle] #

Geben Sie den Namen der Schriftart zurück, z. B. „Times-Roman“.

get_fullname ( ) [Quelle] #

Geben Sie den vollständigen Namen der Schriftart zurück, z. B. „Times-Roman“.

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

Holen Sie sich die Höhe des Begrenzungsrahmens (Tinte) des Zeichens c (Leerzeichen ist 0).

get_horizontal_stem_width ( ) [Quelle] #

Geben Sie die standardmäßige horizontale Stammbreite als Float oder None zurück, wenn sie nicht in der AFM-Datei angegeben ist.

get_kern_dist ( c1 , c2 ) [Quelle] #

Gibt den Kerning-Paarabstand (möglicherweise 0) für die Zeichen c1 und c2 zurück .

get_kern_dist_from_name ( name1 , name2 ) [Quelle] #

Gibt den Kerning-Paarabstand (möglicherweise 0) für die Zeichen name1 und name2 zurück .

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

Holen Sie sich den Namen des Zeichens, dh ';' ist „Semikolon“.

get_str_bbox ( s ) [Quelle] #

Gibt den Begrenzungsrahmen der Zeichenfolge zurück.

get_str_bbox_and_descent ( s ) [Quelle] #

Gibt den Zeichenketten-Begrenzungsrahmen und den maximalen Abstieg zurück.

get_underline_thickness ( ) [Quelle] #

Gibt die Dicke der Unterstreichung als Float zurück.

get_vertical_stem_width ( ) [Quelle] #

Gibt die vertikale Standard-Stielbreite als Float zurück, oder None , wenn nicht in der AFM-Datei angegeben.

get_weight ( ) [Quelle] #

Gibt die Schriftstärke zurück, z. B. „Fett“ oder „Roman“.

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

Holen Sie sich die Breite des Zeichens aus dem WX-Feld der Zeichenmetrik.

get_width_from_char_name ( Name ) [Quelle] #

Holen Sie sich die Breite des Zeichens aus einem Typ1-Zeichennamen.

get_xheight ( ) [Quelle] #

Gibt xheight als Float zurück.

Eigenschaft postscript_name #
string_width_height ( s ) [Quelle] #

Gibt die Zeichenfolgenbreite (einschließlich Kerning) und die Zeichenfolgenhöhe als ( w , h )-Tupel zurück.

Klasse matplotlib._afm. CharMetrics ( width , name , bbox ) [Quelle] #

Basen:tuple

Stellt die Zeichenmetrik eines einzelnen Zeichens dar.

Anmerkungen

Die Felder beschreiben derzeit nur eine Teilmenge von Zeichenmetrikinformationen, die im AFM-Standard definiert sind.

Neue Instanz von CharMetrics erstellen (Breite, Name, Bbox)

bbox #

Die bbox des Zeichens (B) als Tupel ( llx , lly , urx , ury ).

Name #

Der Charaktername (N).

Breite #

Die Zeichenbreite (WX).

Klasse matplotlib._afm. CompositePart ( name , dx , dy ) [Quelle] #

Basen:tuple

Stellt die Informationen zu einem zusammengesetzten Element eines zusammengesetzten Zeichens dar.

Erstellen Sie eine neue Instanz von CompositePart (Name, dx, dy)

dx #

x-Verschiebung des Teils vom Ursprung.

dy #

y-Verschiebung des Teils vom Ursprung.

Name #

Name des Teils, zB „akut“.