Visualisierung von Matplotlib-Schriftarten

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie durch ein Beispiel geführt, wie Schriftarten tabellenartig miteinander zusammenhängen, mithilfe der Python-Bibliothek Matplotlib.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Lädt die Schriftart

Zunächst müssen wir eine Schriftartdatei laden. In diesem Beispiel verwenden wir die Schriftartdatei DejaVuSans.ttf.

import os
import matplotlib
from matplotlib.ft2font import FT2Font

font = FT2Font(os.path.join(matplotlib.get_data_path(), 'fonts/ttf/DejaVuSans.ttf'))

Legt die Zeichensammlung fest

Als nächstes legen wir die Zeichensammlung auf die standardmäßige Unicode-Zeichensammlung fest.

font.set_charmap(0)

Holt Zeichencodes und Glyphen

Wir werden die Zeichencodes und die zugehörigen Glyphen in der Schriftart abrufen und sie in zwei Wörterbüchern, coded und glyphd, speichern.

codes = font.get_charmap().items()

coded = {}
glyphd = {}
for ccode, glyphind in codes:
    name = font.get_glyph_name(glyphind)
    coded[name] = ccode
    glyphd[name] = glyphind

Lädt eine Glyphe

Jetzt werden wir eine Glyphe, den Buchstaben 'A', aus der Schriftart laden und seine Begrenzungskarte (Bounding Box) mit der Eigenschaft glyph.bbox ausgeben.

code = coded['A']
glyph = font.load_char(code)
print(glyph.bbox)

Holt Kerning-Werte

Wir können die Kerning-Werte zwischen zwei Glyphen mit der Methode font.get_kerning() abrufen. In diesem Beispiel werden wir den Kerning-Wert zwischen den Glyphen für 'A' und 'V' und den Glyphen für 'A' und 'T' abrufen.

## kerning values for 'AV'
print('AV', font.get_kerning(glyphd['A'], glyphd['V'], KERNING_DEFAULT))
print('AV', font.get_kerning(glyphd['A'], glyphd['V'], KERNING_UNFITTED))
print('AV', font.get_kerning(glyphd['A'], glyphd['V'], KERNING_UNSCALED))

## kerning value for 'AT'
print('AT', font.get_kerning(glyphd['A'], glyphd['T'], KERNING_UNSCALED))

Zusammenfassung

In diesem Lab haben wir gelernt, wie man eine Schriftartdatei lädt, die Zeichensammlung setzt, Zeichencodes und Glyphen abruft, eine Glyphe lädt und die Kerning-Werte zwischen Glyphen erhält. Diese sind nützliche Techniken für jeden, der mit Schriften und Texten in seinen Python-Projekten arbeiten möchte.