Visualización de tablas de fuentes de Matplotlib

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica te guiará a través de un ejemplo de cómo se relacionan las tablas de fuentes entre sí utilizando la librería Matplotlib de Python.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Cargar la fuente

En primer lugar, necesitamos cargar un archivo de fuente. En este ejemplo, usaremos el archivo de fuente DejaVuSans.ttf.

import os
import matplotlib
from matplotlib.ft2font import FT2Font

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

Establecer el mapa de caracteres

A continuación, establecemos el mapa de caracteres en el mapa de caracteres Unicode estándar.

font.set_charmap(0)

Obtener códigos de caracteres y glifos

Obtendremos los códigos de caracteres y los glifos correspondientes en la fuente y los almacenaremos en dos diccionarios, coded y 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

Cargar un glifo

Ahora cargaremos un glifo, la letra 'A', de la fuente y mostraremos su cuadro delimitador utilizando el atributo glyph.bbox.

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

Obtener valores de empalme

Podemos obtener los valores de empalme entre dos glifos utilizando el método font.get_kerning(). En este ejemplo, obtendremos el valor de empalme entre los glifos para 'A' y 'V' y los glifos para 'A' y 'T'.

## valores de empalme para '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))

## valor de empalme para 'AT'
print('AT', font.get_kerning(glyphd['A'], glyphd['T'], KERNING_UNSCALED))

Resumen

En este laboratorio, aprendimos cómo cargar un archivo de fuente, establecer el mapa de caracteres, obtener códigos de caracteres y glifos, cargar un glifo y obtener valores de empalme entre glifos. Estas son técnicas útiles para cualquiera que desee trabajar con fuentes y texto en sus proyectos de Python.