Módulo fuente_12x16¶
Fuente de mapa de bits 12×16 para el driver pantalla.
Este módulo expone un único diccionario, PATRONES_12x16, que
asocia cada carácter soportado con su glifo correspondiente. Está
pensado para consumirse desde pantalla.Pantalla.texto() cuando se
invoca con tamaño=16.
Formato del glifo¶
Cada valor del diccionario es una lista de 16 enteros (uno por fila del glifo, de arriba hacia abajo). Como el glifo es de 12 píxeles de ancho, cada fila se codifica en un entero de 16 bits usando únicamente los 12 bits más significativos:
fila 0: 0b0F00 -> . . . . X X X X . . . .
^^^^ ^^^^ ^^^^ ^^^^
nibble alto | nibble bajo
Es decir, el bit 0x0800 corresponde al píxel situado más a la
izquierda y el bit 0x0010 al situado más a la derecha; los 4 bits
bajos (0x000F) no se utilizan y normalmente son 0.
Convención de color¶
Un bit en 1 indica píxel encendido (tinta negra, ver
pantalla.NEGRO); un bit en 0 indica píxel apagado
(fondo blanco, ver pantalla.BLANCO).
Caracteres incluidos¶
Letras mayúsculas
A–Z.Letras minúsculas
a–z(con descendentesg,j,p,q,yque ocupan 20 filas de patrón para permitir el trazo bajo la línea base).Vocales minúsculas acentuadas:
á,é,í,ó,ú.Dígitos
0–9.Símbolos básicos: espacio,
!,?,.,,,-,_.
Los caracteres no presentes en el diccionario se ignoran
silenciosamente en tiempo de renderizado (ver
pantalla.Pantalla._char()).
Nota
Algunos glifos (por ejemplo g, j, p, q, y)
contienen más de 16 filas en su lista de patrón para poder
dibujar los descendentes. Esto es intencional y compatible con el
renderizador, que recorre len(p) filas en lugar de asumir 16.
Nota
Este archivo no tiene dependencias: es data pura apta para congelarse (frozen bytecode) en la flash del microcontrolador.
- copyright:
2024
- license:
MIT
- fuente_12x16.PATRONES_12x16 = {' ': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], '!': [1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 0, 0, 1536, 1536, 0, 0], ',': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 1536, 1536, 3072, 0, 0], '-': [0, 0, 0, 0, 0, 0, 32736, 32736, 0, 0, 0, 0, 0, 0, 0, 0], '.': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 1536, 0, 0], '0': [8064, 16320, 28896, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16320, 8064, 0], '1': [1536, 3584, 7680, 13824, 9728, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 0], '2': [8064, 16320, 28896, 24672, 96, 96, 224, 448, 896, 1792, 3584, 7168, 14336, 32736, 32736, 0], '3': [8064, 16320, 28896, 24672, 96, 96, 448, 448, 96, 96, 96, 24672, 28896, 16320, 8064, 0], '4': [224, 480, 864, 1632, 3168, 6240, 12384, 24672, 32736, 32736, 96, 96, 96, 96, 96, 0], '5': [32736, 32736, 24576, 24576, 24576, 32640, 32704, 224, 96, 96, 96, 24672, 28896, 16320, 8064, 0], '6': [8064, 16320, 28896, 24672, 24576, 24576, 32640, 32704, 24800, 24672, 24672, 24672, 28896, 16320, 8064, 0], '7': [32736, 32736, 96, 224, 448, 896, 1792, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 0], '8': [8064, 16320, 28896, 24672, 24672, 28896, 16320, 16320, 28896, 24672, 24672, 24672, 28896, 16320, 8064, 0], '9': [8064, 16320, 28896, 24672, 24672, 24672, 28896, 16352, 8160, 96, 96, 24672, 28896, 16320, 8064, 0], '?': [8064, 16320, 28896, 24672, 96, 224, 448, 896, 1792, 1536, 0, 0, 1536, 1536, 0, 0], 'A': [3840, 8064, 14784, 28896, 24672, 24672, 24672, 24672, 32736, 32736, 24672, 24672, 24672, 24672, 24672, 24672], 'B': [32640, 32704, 24800, 24672, 24672, 24800, 32704, 32704, 24672, 24672, 24672, 24672, 24800, 32704, 32640, 0], 'C': [8064, 16320, 28896, 24672, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24672, 28896, 16320, 8064, 0], 'D': [32512, 32640, 25024, 24800, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24800, 25024, 32640, 32512, 0], 'E': [32736, 32736, 24576, 24576, 24576, 24576, 32704, 32704, 24576, 24576, 24576, 24576, 24576, 32736, 32736, 0], 'F': [32736, 32736, 24576, 24576, 24576, 24576, 32704, 32704, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 0], 'G': [8064, 16320, 28896, 24672, 24576, 24576, 24576, 25568, 25568, 24672, 24672, 24672, 28896, 16352, 8160, 0], 'H': [24672, 24672, 24672, 24672, 24672, 24672, 32736, 32736, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 0], 'I': [32736, 32736, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 32736, 32736, 0], 'J': [992, 992, 96, 96, 96, 96, 96, 96, 96, 24672, 24672, 24672, 28896, 16320, 8064, 0], 'K': [24672, 24800, 25024, 25472, 26368, 28160, 31744, 31744, 28160, 26368, 25472, 25024, 24800, 24672, 24672, 0], 'L': [24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 24576, 32736, 32736, 0], 'M': [24672, 28896, 31200, 32736, 28512, 26208, 26208, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 0], 'N': [24672, 28768, 30816, 31840, 28256, 26464, 25440, 25056, 24800, 24688, 24632, 24604, 24590, 24582, 24582, 0], 'O': [8064, 16320, 28896, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16320, 8064, 0], 'P': [32640, 32704, 24800, 24672, 24672, 24672, 24800, 32704, 32640, 24576, 24576, 24576, 24576, 24576, 24576, 0], 'Q': [8064, 16320, 28896, 24672, 24672, 24672, 24672, 24672, 26208, 26464, 25568, 25024, 28896, 16352, 8032, 0], 'R': [32640, 32704, 24800, 24672, 24672, 24672, 24800, 32704, 32640, 25472, 25024, 24800, 24672, 24672, 24672, 0], 'S': [8064, 16320, 28896, 24672, 24576, 28672, 16128, 8128, 224, 96, 96, 24672, 28896, 16320, 8064, 0], 'T': [32736, 32736, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 0], 'U': [24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16320, 8064, 0], 'V': [24672, 24672, 24672, 24672, 24672, 24672, 28896, 28896, 14784, 14784, 8064, 8064, 3840, 3840, 1536, 0], 'W': [24672, 24672, 24672, 24672, 24672, 26208, 26208, 26208, 28512, 32736, 31200, 28896, 24672, 24672, 24672, 0], 'X': [24672, 24672, 28896, 14784, 8064, 3840, 1536, 1536, 3840, 8064, 14784, 28896, 24672, 24672, 24672, 0], 'Y': [24672, 24672, 28896, 14784, 8064, 3840, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 0], 'Z': [32736, 32736, 96, 224, 448, 896, 1792, 3584, 7168, 14336, 28672, 24576, 24576, 32736, 32736, 0], '_': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32736, 32736], 'a': [0, 0, 0, 0, 0, 0, 8064, 16320, 28896, 96, 8160, 16352, 28768, 24672, 28896, 16352, 8032, 0], 'b': [24576, 24576, 24576, 24576, 24576, 24576, 28544, 32704, 28896, 24672, 24672, 24672, 24672, 28896, 32704, 28544, 0, 0], 'c': [0, 0, 0, 0, 0, 0, 8064, 16320, 28896, 24672, 24576, 24576, 24576, 28896, 16320, 8064, 0, 0], 'd': [96, 96, 96, 96, 96, 96, 8032, 16352, 28896, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 0, 0], 'e': [0, 0, 0, 0, 0, 0, 8064, 16320, 28896, 24672, 32736, 32736, 24576, 28896, 16320, 8064, 0, 0], 'f': [3968, 8128, 14560, 12384, 12288, 12288, 32512, 32512, 12288, 12288, 12288, 12288, 12288, 12288, 12288, 12288, 0, 0], 'g': [0, 0, 0, 0, 0, 0, 8032, 16352, 28896, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 96, 28896, 16320, 8064], 'h': [24576, 24576, 24576, 24576, 24576, 24576, 28544, 32704, 28896, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 0, 0], 'i': [1536, 1536, 0, 0, 0, 0, 15872, 15872, 1536, 1536, 1536, 1536, 1536, 1536, 16352, 16352, 0, 0], 'j': [192, 192, 0, 0, 0, 0, 960, 960, 192, 192, 192, 192, 192, 192, 192, 192, 24768, 29120, 16256, 7936], 'k': [24576, 24576, 24576, 24576, 24576, 24576, 24800, 25024, 25472, 26368, 28160, 31744, 31744, 28160, 26368, 25472, 25024, 24800], 'l': [15872, 15872, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 16352, 16352, 0, 0], 'm': [0, 0, 0, 0, 0, 0, 28032, 32704, 26208, 26208, 26208, 26208, 26208, 26208, 26208, 26208, 0, 0], 'n': [0, 0, 0, 0, 0, 0, 28544, 32704, 28896, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 0, 0], 'o': [0, 0, 0, 0, 0, 0, 8064, 16320, 28896, 24672, 24672, 24672, 24672, 28896, 16320, 8064, 0, 0], 'p': [0, 0, 0, 0, 0, 0, 28544, 32704, 28896, 24672, 24672, 24672, 24672, 28896, 32704, 28544, 24576, 24576, 24576, 24576], 'q': [0, 0, 0, 0, 0, 0, 8032, 16352, 28896, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 96, 96, 96, 96], 'r': [0, 0, 0, 0, 0, 0, 28544, 32704, 28896, 24672, 24576, 24576, 24576, 24576, 24576, 24576, 0, 0], 's': [0, 0, 0, 0, 0, 0, 8064, 16320, 28896, 24576, 32640, 16320, 224, 96, 28896, 16320, 8064, 0], 't': [6144, 6144, 6144, 6144, 6144, 6144, 32512, 32512, 6144, 6144, 6144, 6144, 6144, 7392, 4032, 1920, 0, 0], 'u': [0, 0, 0, 0, 0, 0, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 0, 0], 'v': [0, 0, 0, 0, 0, 0, 24672, 24672, 28896, 14784, 14784, 8064, 8064, 3840, 3840, 1536, 0, 0], 'w': [0, 0, 0, 0, 0, 0, 24672, 24672, 26208, 26208, 28512, 32736, 31200, 28896, 24672, 24672, 0, 0], 'x': [0, 0, 0, 0, 0, 0, 24672, 28896, 14784, 8064, 3840, 1536, 3840, 8064, 14784, 28896, 24672, 0], 'y': [0, 0, 0, 0, 0, 0, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 96, 28896, 16320, 8064], 'z': [0, 0, 0, 0, 0, 0, 32736, 32736, 224, 448, 896, 1792, 3584, 7168, 14336, 32736, 32736, 0], 'á': [768, 1536, 3072, 0, 0, 0, 8064, 16320, 28896, 96, 8160, 16352, 28768, 24672, 28896, 16352, 8032, 0], 'é': [768, 1536, 3072, 0, 0, 0, 8064, 16320, 28896, 24672, 32736, 32736, 24576, 28896, 16320, 8064, 0, 0], 'í': [768, 1536, 3072, 0, 0, 0, 15872, 15872, 1536, 1536, 1536, 1536, 1536, 1536, 16352, 16352, 0, 0], 'ó': [768, 1536, 3072, 0, 0, 0, 8064, 16320, 28896, 24672, 24672, 24672, 24672, 28896, 16320, 8064, 0, 0], 'ú': [768, 1536, 3072, 0, 0, 0, 24672, 24672, 24672, 24672, 24672, 24672, 24672, 28896, 16352, 8032, 0, 0]}¶
Diccionario
{carácter: [16 enteros]}con los glifos de la fuente 12×16.Cada entrada mapea un carácter Unicode de un solo code point a una lista de enteros de 16 bits, uno por fila, usando los 12 bits más significativos para representar los 12 píxeles de ancho del glifo. Algunos caracteres con descendentes contienen más de 16 filas. Ver el docstring del módulo para el formato exacto y la convención de color.