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.