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 descendentes g, j, p, q, y que 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:
  1. 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.

Type:

dict[str, list[int]]