matplotlib._afm#
Eine Python-Schnittstelle zu Adobe Font Metrics-Dateien.
Obwohl eine Reihe anderer Python-Implementierungen existiert und möglicherweise vollständiger als diese ist, wurde entschieden, sich nicht für diese zu entscheiden, da sie entweder
urheberrechtlich geschützt waren oder eine nicht-BSD-kompatible Lizenz verwendeten.
zu viele Abhängigkeiten hatten und eine eigenständige Bibliothek benötigt wurde.
mehr taten als nötig und es einfacher war, neu zu beginnen, anstatt herauszufinden, wie man nur das Nötige bekommt.
Sie ist recht 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 im Adobe Font Metrics File Format Specification sind alle Abmessungen in Einheiten von 1/1000 des Skalierungsfaktors (Punktgröße) der verwendeten Schriftart angegeben.
- class matplotlib._afm.AFM(fh)[Quelle]#
Bases:
objectAnalysiert die AFM-Datei im Dateiobjekt fh.
- property family_name#
Der Name der Schriftfamilie, z. B. 'Times'.
- get_height_char(c, isord=False)[Quelle]#
Ruft die Höhe des Begrenzungsrahmens (Farbauftrag) des Zeichens c ab (Leerzeichen ist 0).
- get_horizontal_stem_width()[Quelle]#
Gibt die Standardbreite des horizontalen Strichs als Gleitkommazahl zurück, oder None, wenn sie in der AFM-Datei nicht angegeben ist.
- get_kern_dist(c1, c2)[Quelle]#
Gibt den Abstand des Kerning-Paares (möglicherweise 0) für die Zeichen c1 und c2 zurück.
- get_kern_dist_from_name(name1, name2)[Quelle]#
Gibt den Abstand des Kerning-Paares (möglicherweise 0) für die Zeichen name1 und name2 zurück.
- get_str_bbox_and_descent(s)[Quelle]#
Gibt den Begrenzungsrahmen des Strings und den maximalen Abstieg zurück.
- get_vertical_stem_width()[Quelle]#
Gibt die Standardbreite des vertikalen Strichs als Gleitkommazahl zurück, oder None, wenn sie in der AFM-Datei nicht angegeben ist.
- get_width_char(c, isord=False)[Quelle]#
Ruft die Breite des Zeichens aus dem Feld 'WX' der Zeichenmetrik ab.
- get_width_from_char_name(name)[Quelle]#
Ruft die Breite des Zeichens anhand des Type1-Zeichennamens ab.
- property postscript_name#
- class matplotlib._afm.CharMetrics(width, name, bbox)[Quelle]#
Bases:
tupleStellt die Zeichenmetriken eines einzelnen Zeichens dar.
Anmerkungen
Die Felder beschreiben derzeit nur einen Teil der im AFM-Standard definierten Zeichenmetriken.
Erstellt eine neue Instanz von CharMetrics(width, name, bbox)
- bbox#
Der Begrenzungsrahmen des Zeichens (B) als Tupel (llx, lly, urx, ury).
- name#
Der Zeichenname (N).
- width#
Die Zeichenbreite (WX).
- class matplotlib._afm.CompositePart(name, dx, dy)[Quelle]#
Bases:
tupleStellt die Informationen eines zusammengesetzten Elements eines zusammengesetzten Zeichens dar.
Erstellt 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, z.B. 'acute'.