# fuente_12x16.py - Patrones de bits para fuente 12x16
# Cada carácter: 12 píxeles ancho × 16 píxeles alto (2 bytes por fila)

PATRONES_12x16 = {
    # Letras mayúsculas - 12x16
    'A': [
        0x0F00, 0x1F80, 0x39C0, 0x70E0, 0x6060, 0x6060, 
        0x6060, 0x6060, 0x7FE0, 0x7FE0, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060
    ],
    'B': [
        0x7F80, 0x7FC0, 0x60E0, 0x6060, 0x6060, 0x60E0,
        0x7FC0, 0x7FC0, 0x6060, 0x6060, 0x6060, 0x6060,
        0x60E0, 0x7FC0, 0x7F80, 0x0000
    ],
    'C': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6000, 0x6000,
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    'D': [
        0x7F00, 0x7F80, 0x61C0, 0x60E0, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x60E0,
        0x61C0, 0x7F80, 0x7F00, 0x0000
    ],
    'E': [
        0x7FE0, 0x7FE0, 0x6000, 0x6000, 0x6000, 0x6000,
        0x7FC0, 0x7FC0, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6000, 0x7FE0, 0x7FE0, 0x0000
    ],
    'F': [
        0x7FE0, 0x7FE0, 0x6000, 0x6000, 0x6000, 0x6000,
        0x7FC0, 0x7FC0, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6000, 0x6000, 0x6000, 0x0000
    ],
    'G': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6000, 0x6000,
        0x6000, 0x63E0, 0x63E0, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FE0, 0x1FE0, 0x0000
    ],
    'H': [
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x7FE0, 0x7FE0, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x0000
    ],
    'I': [
        0x7FE0, 0x7FE0, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x7FE0, 0x7FE0, 0x0000
    ],
    'J': [
        0x03E0, 0x03E0, 0x0060, 0x0060, 0x0060, 0x0060,
        0x0060, 0x0060, 0x0060, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    'K': [
        0x6060, 0x60E0, 0x61C0, 0x6380, 0x6700, 0x6E00,
        0x7C00, 0x7C00, 0x6E00, 0x6700, 0x6380, 0x61C0,
        0x60E0, 0x6060, 0x6060, 0x0000
    ],
    'L': [
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6000, 0x7FE0, 0x7FE0, 0x0000
    ],
    'M': [
        0x6060, 0x70E0, 0x79E0, 0x7FE0, 0x6F60, 0x6660,
        0x6660, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x0000
    ],
    'N': [
        0x6060, 0x7060, 0x7860, 0x7C60, 0x6E60, 0x6760,
        0x6360, 0x61E0, 0x60E0, 0x6070, 0x6038, 0x601C,
        0x600E, 0x6006, 0x6006, 0x0000
    ],
    'O': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    'P': [
        0x7F80, 0x7FC0, 0x60E0, 0x6060, 0x6060, 0x6060,
        0x60E0, 0x7FC0, 0x7F80, 0x6000, 0x6000, 0x6000,
        0x6000, 0x6000, 0x6000, 0x0000
    ],
    'Q': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6660, 0x6760, 0x63E0, 0x61C0,
        0x70E0, 0x3FE0, 0x1F60, 0x0000
    ],
    'R': [
        0x7F80, 0x7FC0, 0x60E0, 0x6060, 0x6060, 0x6060,
        0x60E0, 0x7FC0, 0x7F80, 0x6380, 0x61C0, 0x60E0,
        0x6060, 0x6060, 0x6060, 0x0000
    ],
    'S': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6000, 0x7000,
        0x3F00, 0x1FC0, 0x00E0, 0x0060, 0x0060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    'T': [
        0x7FE0, 0x7FE0, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0000
    ],
    'U': [
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    'V': [
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x70E0, 0x39C0, 0x39C0, 0x1F80, 0x1F80,
        0x0F00, 0x0F00, 0x0600, 0x0000
    ],
    'W': [
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6660,
        0x6660, 0x6660, 0x6F60, 0x7FE0, 0x79E0, 0x70E0,
        0x6060, 0x6060, 0x6060, 0x0000
    ],
    'X': [
        0x6060, 0x6060, 0x70E0, 0x39C0, 0x1F80, 0x0F00,
        0x0600, 0x0600, 0x0F00, 0x1F80, 0x39C0, 0x70E0,
        0x6060, 0x6060, 0x6060, 0x0000
    ],
    'Y': [
        0x6060, 0x6060, 0x70E0, 0x39C0, 0x1F80, 0x0F00,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0000
    ],
    'Z': [
        0x7FE0, 0x7FE0, 0x0060, 0x00E0, 0x01C0, 0x0380,
        0x0700, 0x0E00, 0x1C00, 0x3800, 0x7000, 0x6000,
        0x6000, 0x7FE0, 0x7FE0, 0x0000
    ],
    
        # Letras minúsculas - 12x16
    'a': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x0060, 0x1FE0, 0x3FE0,
        0x7060, 0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0000
    ],
    'b': [
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6F80, 0x7FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x7FC0, 0x6F80, 0x0000, 0x0000
    ],
    'c': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6000, 0x6000,
        0x6000, 0x70E0, 0x3FC0, 0x1F80, 0x0000, 0x0000
    ],
    'd': [
        0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060,
        0x1F60, 0x3FE0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0000, 0x0000
    ],
    'e': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x7FE0, 0x7FE0,
        0x6000, 0x70E0, 0x3FC0, 0x1F80, 0x0000, 0x0000
    ],
    'f': [
        0x0F80, 0x1FC0, 0x38E0, 0x3060, 0x3000, 0x3000,
        0x7F00, 0x7F00, 0x3000, 0x3000, 0x3000, 0x3000,
        0x3000, 0x3000, 0x3000, 0x3000, 0x0000, 0x0000
    ],
    'g': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F60, 0x3FE0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0060, 0x70E0,
        0x3FC0, 0x1F80
    ],
    'h': [
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000,
        0x6F80, 0x7FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x0000, 0x0000
    ],
    'i': [
        0x0600, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000,
        0x3E00, 0x3E00, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x3FE0, 0x3FE0, 0x0000, 0x0000
    ],
    'j': [
        0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000,
        0x03C0, 0x03C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0,
        0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x60C0, 0x71C0,
        0x3F80, 0x1F00
    ],
    'k': [
        0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000,
        0x60E0, 0x61C0, 0x6380, 0x6700, 0x6E00, 0x7C00,
        0x7C00, 0x6E00, 0x6700, 0x6380, 0x61C0, 0x60E0
    ],
    'l': [
        0x3E00, 0x3E00, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x3FE0, 0x3FE0, 0x0000, 0x0000
    ],
    'm': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6D80, 0x7FC0, 0x6660, 0x6660, 0x6660, 0x6660,
        0x6660, 0x6660, 0x6660, 0x6660, 0x0000, 0x0000
    ],
    'n': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6F80, 0x7FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x0000, 0x0000
    ],
    'o': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FC0, 0x1F80, 0x0000, 0x0000
    ],
    'p': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6F80, 0x7FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x7FC0, 0x6F80, 0x6000, 0x6000,
        0x6000, 0x6000
    ],
    'q': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F60, 0x3FE0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0060, 0x0060,
        0x0060, 0x0060
    ],
    'r': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6F80, 0x7FC0, 0x70E0, 0x6060, 0x6000, 0x6000,
        0x6000, 0x6000, 0x6000, 0x6000, 0x0000, 0x0000
    ],
    's': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6000, 0x7F80, 0x3FC0,
        0x00E0, 0x0060, 0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    't': [
        0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800,
        0x7F00, 0x7F00, 0x1800, 0x1800, 0x1800, 0x1800,
        0x1800, 0x1CE0, 0x0FC0, 0x0780, 0x0000, 0x0000
    ],
    'u': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0000, 0x0000
    ],
    'v': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6060, 0x6060, 0x70E0, 0x39C0, 0x39C0, 0x1F80,
        0x1F80, 0x0F00, 0x0F00, 0x0600, 0x0000, 0x0000
    ],
    'w': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6060, 0x6060, 0x6660, 0x6660, 0x6F60, 0x7FE0,
        0x79E0, 0x70E0, 0x6060, 0x6060, 0x0000, 0x0000
    ],
    'x': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6060, 0x70E0, 0x39C0, 0x1F80, 0x0F00, 0x0600,
        0x0F00, 0x1F80, 0x39C0, 0x70E0, 0x6060, 0x0000
    ],
    'y': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0060, 0x70E0,
        0x3FC0, 0x1F80
    ],
    'z': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x7FE0, 0x7FE0, 0x00E0, 0x01C0, 0x0380, 0x0700,
        0x0E00, 0x1C00, 0x3800, 0x7FE0, 0x7FE0, 0x0000
    ],
    
        # Vocales con acento - 12x16
    'á': [
        0x0300, 0x0600, 0x0C00, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x0060, 0x1FE0, 0x3FE0,
        0x7060, 0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0000
    ],
    'é': [
        0x0300, 0x0600, 0x0C00, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x7FE0, 0x7FE0,
        0x6000, 0x70E0, 0x3FC0, 0x1F80, 0x0000, 0x0000
    ],
    'í': [
        0x0300, 0x0600, 0x0C00, 0x0000, 0x0000, 0x0000,
        0x3E00, 0x3E00, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x3FE0, 0x3FE0, 0x0000, 0x0000
    ],
    'ó': [
        0x0300, 0x0600, 0x0C00, 0x0000, 0x0000, 0x0000,
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FC0, 0x1F80, 0x0000, 0x0000
    ],
    'ú': [
        0x0300, 0x0600, 0x0C00, 0x0000, 0x0000, 0x0000,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x6060, 0x70E0, 0x3FE0, 0x1F60, 0x0000, 0x0000
    ],
    
    # Números - 12x16
    '0': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x6060, 0x6060, 0x6060, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    '1': [
        0x0600, 0x0E00, 0x1E00, 0x3600, 0x2600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0000
    ],
    '2': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x0060, 0x0060,
        0x00E0, 0x01C0, 0x0380, 0x0700, 0x0E00, 0x1C00,
        0x3800, 0x7FE0, 0x7FE0, 0x0000
    ],
    '3': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x0060, 0x0060,
        0x01C0, 0x01C0, 0x0060, 0x0060, 0x0060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    '4': [
        0x00E0, 0x01E0, 0x0360, 0x0660, 0x0C60, 0x1860,
        0x3060, 0x6060, 0x7FE0, 0x7FE0, 0x0060, 0x0060,
        0x0060, 0x0060, 0x0060, 0x0000
    ],
    '5': [
        0x7FE0, 0x7FE0, 0x6000, 0x6000, 0x6000, 0x7F80,
        0x7FC0, 0x00E0, 0x0060, 0x0060, 0x0060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    '6': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6000, 0x6000,
        0x7F80, 0x7FC0, 0x60E0, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    '7': [
        0x7FE0, 0x7FE0, 0x0060, 0x00E0, 0x01C0, 0x0380,
        0x0700, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0000
    ],
    '8': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x70E0,
        0x3FC0, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    '9': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x6060, 0x6060,
        0x70E0, 0x3FE0, 0x1FE0, 0x0060, 0x0060, 0x6060,
        0x70E0, 0x3FC0, 0x1F80, 0x0000
    ],
    
    # Símbolos básicos - 12x16
    ' ': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000
    ],
    '!': [
        0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600,
        0x0600, 0x0600, 0x0600, 0x0600, 0x0000, 0x0000,
        0x0600, 0x0600, 0x0000, 0x0000
    ],
    '?': [
        0x1F80, 0x3FC0, 0x70E0, 0x6060, 0x0060, 0x00E0,
        0x01C0, 0x0380, 0x0700, 0x0600, 0x0000, 0x0000,
        0x0600, 0x0600, 0x0000, 0x0000
    ],
    '.': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0600, 0x0600, 0x0000, 0x0000
    ],
    ',': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0600,
        0x0600, 0x0C00, 0x0000, 0x0000
    ],
    '-': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x7FE0, 0x7FE0, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000
    ],
    '_': [
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x7FE0, 0x7FE0
    ],
}