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:
urheberrechtlich geschützt sind oder eine nicht-BSD-kompatible Lizenz verwendet haben
hatte zu viele Abhängigkeiten und es wurde eine freistehende Bibliothek benötigt
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_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_and_descent ( s ) [Quelle] #
Gibt den Zeichenketten-Begrenzungsrahmen und den maximalen Abstieg 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_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.
- Eigenschaft postscript_name #
- 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“.