Visualisation des tables de caractères de Matplotlib

Beginner

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

Introduction

Ce laboratoire vous guidera à travers un exemple de la manière dont les tables de caractères sont liées les unes aux autres en utilisant la bibliothèque Matplotlib de Python.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Charger la police

Tout d'abord, nous devons charger un fichier de police. Dans cet exemple, nous utiliserons le fichier de police DejaVuSans.ttf.

import os
import matplotlib
from matplotlib.ft2font import FT2Font

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

Définir la carte de caractères

Ensuite, nous définissons la carte de caractères sur la carte de caractères Unicode standard.

font.set_charmap(0)

Obtenir les codes de caractères et les glyphes

Nous allons obtenir les codes de caractères et les glyphes correspondants dans la police et les stocker dans deux dictionnaires, coded et glyphd.

codes = font.get_charmap().items()

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

Charger un glyphe

Maintenant, nous allons charger un glyphe, la lettre 'A', à partir de la police et afficher sa boîte englobante en utilisant l'attribut glyph.bbox.

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

Obtenir les valeurs de kerning

Nous pouvons obtenir les valeurs de kerning entre deux glyphes en utilisant la méthode font.get_kerning(). Dans cet exemple, nous allons obtenir la valeur de kerning entre les glyphes pour 'A' et 'V' et les glyphes pour 'A' et 'T'.

## 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))

Sommaire

Dans ce laboratoire, nous avons appris à charger un fichier de police, à définir la carte de caractères, à obtenir les codes de caractères et les glyphes, à charger un glyphe et à obtenir les valeurs de kerning entre les glyphes. Ces techniques sont utiles pour quiconque veut travailler avec des polices et du texte dans ses projets Python.