# This script generates the top part of the monogram.c file # (the rest of it was written after.) ''' // Monogram 12x7 pixel font ''' CREDITS = '\n'.join( '// > ' + line for line in '''\ # CREDITS Monogram is a free and Creative Commons Zero pixel font, made by Vinícius Menézio (@vmenezio). https://datagoblin.itch.io/monogram # SPECIAL THANKS thanks to Ateş Göral (@atesgoral) for creating the bitmap font converter: https://codepen.io/atesgoral/details/RwGOvPZ thanks to Éric Araujo (@merwok_) for the inital port of monogram to PICO-8: https://itch.io/post/2625522 '''.splitlines() ) print(__doc__) print(CREDITS) monogram = { "0": [0, 0, 0, 14, 17, 25, 21, 19, 17, 14, 0, 0], "1": [0, 0, 0, 4, 6, 4, 4, 4, 4, 31, 0, 0], "2": [0, 0, 0, 14, 17, 16, 8, 4, 2, 31, 0, 0], "3": [0, 0, 0, 14, 17, 16, 12, 16, 17, 14, 0, 0], "4": [0, 0, 0, 18, 18, 17, 31, 16, 16, 16, 0, 0], "5": [0, 0, 0, 31, 1, 15, 16, 16, 17, 14, 0, 0], "6": [0, 0, 0, 14, 1, 1, 15, 17, 17, 14, 0, 0], "7": [0, 0, 0, 31, 16, 16, 8, 4, 4, 4, 0, 0], "8": [0, 0, 0, 14, 17, 17, 14, 17, 17, 14, 0, 0], "9": [0, 0, 0, 14, 17, 17, 30, 16, 17, 14, 0, 0], "!": [0, 0, 0, 4, 4, 4, 4, 4, 0, 4, 0, 0], "\"": [0, 0, 0, 10, 10, 10, 0, 0, 0, 0, 0, 0], "#": [0, 0, 0, 0, 10, 31, 10, 10, 31, 10, 0, 0], "$": [0, 0, 0, 4, 30, 5, 14, 20, 15, 4, 0, 0], "%": [0, 0, 0, 17, 17, 8, 4, 2, 17, 17, 0, 0], "&": [0, 0, 0, 6, 9, 9, 30, 9, 9, 22, 0, 0], "'": [0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0], "(": [0, 0, 0, 8, 4, 4, 4, 4, 4, 8, 0, 0], ")": [0, 0, 0, 2, 4, 4, 4, 4, 4, 2, 0, 0], "*": [0, 0, 0, 0, 4, 21, 14, 21, 4, 0, 0, 0], "+": [0, 0, 0, 0, 4, 4, 31, 4, 4, 0, 0, 0], ",": [0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 2, 0], "-": [0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0], ".": [0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0], "/": [0, 0, 0, 16, 16, 8, 4, 2, 1, 1, 0, 0], ":": [0, 0, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0], ";": [0, 0, 0, 0, 4, 4, 0, 0, 4, 4, 2, 0], "<": [0, 0, 0, 0, 24, 6, 1, 6, 24, 0, 0, 0], "=": [0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0], ">": [0, 0, 0, 0, 3, 12, 16, 12, 3, 0, 0, 0], "?": [0, 0, 0, 14, 17, 16, 8, 4, 0, 4, 0, 0], "@": [0, 0, 0, 14, 25, 21, 21, 25, 1, 14, 0, 0], "A": [0, 0, 0, 14, 17, 17, 17, 31, 17, 17, 0, 0], "B": [0, 0, 0, 15, 17, 17, 15, 17, 17, 15, 0, 0], "C": [0, 0, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "D": [0, 0, 0, 15, 17, 17, 17, 17, 17, 15, 0, 0], "E": [0, 0, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "F": [0, 0, 0, 31, 1, 1, 15, 1, 1, 1, 0, 0], "G": [0, 0, 0, 14, 17, 1, 29, 17, 17, 14, 0, 0], "H": [0, 0, 0, 17, 17, 17, 31, 17, 17, 17, 0, 0], "I": [0, 0, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "J": [0, 0, 0, 16, 16, 16, 16, 17, 17, 14, 0, 0], "K": [0, 0, 0, 17, 9, 5, 3, 5, 9, 17, 0, 0], "L": [0, 0, 0, 1, 1, 1, 1, 1, 1, 31, 0, 0], "M": [0, 0, 0, 17, 27, 21, 17, 17, 17, 17, 0, 0], "N": [0, 0, 0, 17, 17, 19, 21, 25, 17, 17, 0, 0], "O": [0, 0, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "P": [0, 0, 0, 15, 17, 17, 15, 1, 1, 1, 0, 0], "Q": [0, 0, 0, 14, 17, 17, 17, 17, 17, 14, 24, 0], "R": [0, 0, 0, 15, 17, 17, 15, 17, 17, 17, 0, 0], "S": [0, 0, 0, 14, 17, 1, 14, 16, 17, 14, 0, 0], "T": [0, 0, 0, 31, 4, 4, 4, 4, 4, 4, 0, 0], "U": [0, 0, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "V": [0, 0, 0, 17, 17, 17, 17, 10, 10, 4, 0, 0], "W": [0, 0, 0, 17, 17, 17, 17, 21, 27, 17, 0, 0], "X": [0, 0, 0, 17, 17, 10, 4, 10, 17, 17, 0, 0], "Y": [0, 0, 0, 17, 17, 10, 4, 4, 4, 4, 0, 0], "Z": [0, 0, 0, 31, 16, 8, 4, 2, 1, 31, 0, 0], "[": [0, 0, 0, 12, 4, 4, 4, 4, 4, 12, 0, 0], "\\": [0, 0, 0, 1, 1, 2, 4, 8, 16, 16, 0, 0], "]": [0, 0, 0, 6, 4, 4, 4, 4, 4, 6, 0, 0], "^": [0, 0, 0, 4, 10, 17, 0, 0, 0, 0, 0, 0], "_": [0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0], "`": [0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0], "a": [0, 0, 0, 0, 0, 30, 17, 17, 17, 30, 0, 0], "b": [0, 0, 0, 1, 1, 15, 17, 17, 17, 15, 0, 0], "c": [0, 0, 0, 0, 0, 14, 17, 1, 17, 14, 0, 0], "d": [0, 0, 0, 16, 16, 30, 17, 17, 17, 30, 0, 0], "e": [0, 0, 0, 0, 0, 14, 17, 31, 1, 14, 0, 0], "f": [0, 0, 0, 12, 18, 2, 15, 2, 2, 2, 0, 0], "g": [0, 0, 0, 0, 0, 30, 17, 17, 17, 30, 16, 14], "h": [0, 0, 0, 1, 1, 15, 17, 17, 17, 17, 0, 0], "i": [0, 0, 0, 4, 0, 6, 4, 4, 4, 31, 0, 0], "j": [0, 0, 0, 16, 0, 24, 16, 16, 16, 16, 17, 14], "k": [0, 0, 0, 1, 1, 17, 9, 7, 9, 17, 0, 0], "l": [0, 0, 0, 3, 2, 2, 2, 2, 2, 28, 0, 0], "m": [0, 0, 0, 0, 0, 15, 21, 21, 21, 21, 0, 0], "n": [0, 0, 0, 0, 0, 15, 17, 17, 17, 17, 0, 0], "o": [0, 0, 0, 0, 0, 14, 17, 17, 17, 14, 0, 0], "p": [0, 0, 0, 0, 0, 15, 17, 17, 17, 15, 1, 1], "q": [0, 0, 0, 0, 0, 30, 17, 17, 17, 30, 16, 16], "r": [0, 0, 0, 0, 0, 13, 19, 1, 1, 1, 0, 0], "s": [0, 0, 0, 0, 0, 30, 1, 14, 16, 15, 0, 0], "t": [0, 0, 0, 2, 2, 15, 2, 2, 2, 28, 0, 0], "u": [0, 0, 0, 0, 0, 17, 17, 17, 17, 30, 0, 0], "v": [0, 0, 0, 0, 0, 17, 17, 17, 10, 4, 0, 0], "w": [0, 0, 0, 0, 0, 17, 17, 21, 21, 10, 0, 0], "x": [0, 0, 0, 0, 0, 17, 10, 4, 10, 17, 0, 0], "y": [0, 0, 0, 0, 0, 17, 17, 17, 17, 30, 16, 14], "z": [0, 0, 0, 0, 0, 31, 8, 4, 2, 31, 0, 0], "{": [0, 0, 0, 8, 4, 4, 2, 4, 4, 8, 0, 0], "|": [0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0], "}": [0, 0, 0, 2, 4, 4, 8, 4, 4, 2, 0, 0], "~": [0, 0, 0, 0, 0, 18, 13, 0, 0, 0, 0, 0], "¡": [0, 0, 0, 4, 0, 4, 4, 4, 4, 4, 0, 0], "¢": [0, 0, 0, 4, 14, 21, 5, 21, 14, 4, 0, 0], "£": [0, 0, 0, 12, 18, 2, 15, 2, 2, 31, 0, 0], "¤": [0, 0, 0, 0, 17, 14, 10, 14, 17, 0, 0, 0], "¥": [0, 0, 0, 17, 10, 4, 31, 4, 31, 4, 0, 0], "¦": [0, 0, 0, 4, 4, 4, 0, 4, 4, 4, 0, 0], "§": [0, 0, 0, 30, 1, 14, 17, 14, 16, 15, 0, 0], "¨": [0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], "©": [0, 0, 0, 14, 27, 21, 29, 21, 27, 14, 0, 0], "ª": [0, 0, 0, 14, 9, 9, 9, 14, 0, 0, 0, 0], "«": [0, 0, 0, 0, 0, 18, 9, 18, 0, 0, 0, 0], "¬": [0, 0, 0, 0, 0, 0, 31, 16, 0, 0, 0, 0], "®": [0, 0, 0, 14, 25, 21, 21, 25, 21, 14, 0, 0], "¯": [0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0], "°": [0, 0, 0, 6, 9, 9, 6, 0, 0, 0, 0, 0], "±": [0, 0, 0, 4, 4, 31, 4, 4, 0, 31, 0, 0], "²": [0, 0, 0, 3, 4, 2, 1, 7, 0, 0, 0, 0], "³": [0, 0, 0, 3, 4, 2, 4, 3, 0, 0, 0, 0], "´": [0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0], "µ": [0, 0, 0, 0, 0, 17, 17, 17, 17, 15, 1, 1], "¶": [0, 0, 0, 30, 23, 23, 23, 22, 20, 20, 0, 0], "·": [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0], "¸": [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 6], "¹": [0, 0, 0, 2, 3, 2, 2, 7, 0, 0, 0, 0], "º": [0, 0, 0, 6, 9, 9, 9, 6, 0, 0, 0, 0], "»": [0, 0, 0, 0, 0, 9, 18, 9, 0, 0, 0, 0], "¼": [0, 0, 0, 1, 9, 5, 2, 21, 28, 16, 0, 0], "½": [0, 0, 0, 1, 9, 5, 14, 17, 8, 28, 0, 0], "¾": [0, 0, 0, 7, 22, 15, 4, 22, 29, 16, 0, 0], "¿": [0, 0, 0, 4, 0, 4, 2, 1, 17, 14, 0, 0], "À": [2, 4, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Á": [8, 4, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Â": [4, 10, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Ã": [22, 9, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Ä": [0, 10, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Å": [4, 10, 4, 14, 17, 17, 31, 17, 17, 17, 0, 0], "Æ": [0, 0, 0, 30, 5, 5, 31, 5, 5, 29, 0, 0], "Ç": [0, 0, 0, 14, 17, 1, 1, 1, 17, 14, 8, 6], "È": [2, 4, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "É": [8, 4, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "Ê": [4, 10, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "Ë": [0, 10, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "Ì": [2, 4, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "Í": [8, 4, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "Î": [4, 10, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "Ï": [0, 10, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "Ð": [0, 0, 0, 15, 17, 17, 19, 17, 17, 15, 0, 0], "Ñ": [22, 9, 0, 17, 17, 19, 21, 25, 17, 17, 0, 0], "Ò": [2, 4, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "Ó": [8, 4, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "Ô": [4, 10, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "Õ": [22, 9, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "Ö": [0, 10, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "×": [0, 0, 0, 0, 0, 0, 10, 4, 10, 0, 0, 0], "Ø": [0, 0, 0, 22, 9, 25, 21, 19, 18, 13, 0, 0], "Ù": [2, 4, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "Ú": [8, 4, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "Û": [4, 10, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "Ü": [0, 10, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "Ý": [8, 4, 0, 17, 17, 10, 4, 4, 4, 4, 0, 0], "Þ": [0, 0, 0, 1, 15, 17, 17, 17, 15, 1, 0, 0], "ß": [0, 0, 0, 6, 9, 9, 13, 17, 17, 13, 0, 0], "à": [0, 0, 2, 4, 0, 30, 17, 17, 17, 30, 0, 0], "á": [0, 0, 8, 4, 0, 30, 17, 17, 17, 30, 0, 0], "â": [0, 0, 4, 10, 0, 30, 17, 17, 17, 30, 0, 0], "ã": [0, 0, 22, 9, 0, 30, 17, 17, 17, 30, 0, 0], "ä": [0, 0, 0, 10, 0, 30, 17, 17, 17, 30, 0, 0], "å": [0, 4, 10, 4, 0, 30, 17, 17, 17, 30, 0, 0], "æ": [0, 0, 0, 0, 0, 14, 21, 29, 5, 30, 0, 0], "ç": [0, 0, 0, 0, 0, 14, 17, 1, 17, 14, 8, 6], "è": [0, 0, 2, 4, 0, 14, 17, 31, 1, 14, 0, 0], "é": [0, 0, 8, 4, 0, 14, 17, 31, 1, 14, 0, 0], "ê": [0, 0, 4, 10, 0, 14, 17, 31, 1, 14, 0, 0], "ë": [0, 0, 0, 10, 0, 14, 17, 31, 1, 14, 0, 0], "ì": [0, 0, 2, 4, 0, 6, 4, 4, 4, 31, 0, 0], "í": [0, 0, 8, 4, 0, 6, 4, 4, 4, 31, 0, 0], "î": [0, 0, 4, 10, 0, 6, 4, 4, 4, 31, 0, 0], "ï": [0, 0, 0, 10, 0, 6, 4, 4, 4, 31, 0, 0], "ð": [0, 0, 14, 48, 24, 30, 17, 17, 17, 14, 0, 0], "ñ": [0, 0, 22, 9, 0, 15, 17, 17, 17, 17, 0, 0], "ò": [0, 0, 2, 4, 0, 14, 17, 17, 17, 14, 0, 0], "ó": [0, 0, 8, 4, 0, 14, 17, 17, 17, 14, 0, 0], "ô": [0, 0, 4, 10, 0, 14, 17, 17, 17, 14, 0, 0], "õ": [0, 0, 22, 9, 0, 14, 17, 17, 17, 14, 0, 0], "ö": [0, 0, 0, 10, 0, 14, 17, 17, 17, 14, 0, 0], "÷": [0, 0, 0, 0, 0, 4, 0, 31, 0, 4, 0, 0], "ø": [0, 0, 0, 0, 0, 22, 9, 21, 18, 13, 0, 0], "ù": [0, 0, 2, 4, 0, 17, 17, 17, 17, 30, 0, 0], "ú": [0, 0, 8, 4, 0, 17, 17, 17, 17, 30, 0, 0], "û": [0, 0, 4, 10, 0, 17, 17, 17, 17, 30, 0, 0], "ü": [0, 0, 0, 10, 0, 17, 17, 17, 17, 30, 0, 0], "ý": [0, 0, 8, 4, 0, 17, 17, 17, 17, 30, 16, 14], "þ": [0, 0, 0, 1, 1, 15, 17, 17, 17, 15, 1, 1], "ÿ": [0, 0, 0, 10, 0, 17, 17, 17, 17, 30, 16, 14], "Ā": [0, 14, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "ā": [0, 0, 0, 14, 0, 30, 17, 17, 17, 30, 0, 0], "Ă": [10, 4, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0], "ă": [0, 0, 10, 4, 0, 30, 17, 17, 17, 30, 0, 0], "Ą": [0, 0, 0, 14, 17, 17, 31, 17, 17, 17, 8, 16], "ą": [0, 0, 0, 0, 0, 30, 17, 17, 17, 30, 4, 24], "Ć": [8, 4, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "ć": [0, 0, 8, 4, 0, 14, 17, 1, 17, 14, 0, 0], "Ĉ": [4, 10, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "ĉ": [0, 0, 4, 10, 0, 14, 17, 1, 17, 14, 0, 0], "Ċ": [0, 4, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "ċ": [0, 0, 0, 4, 0, 14, 17, 1, 17, 14, 0, 0], "Č": [10, 4, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "č": [0, 0, 10, 4, 0, 14, 17, 1, 17, 14, 0, 0], "Ď": [10, 4, 0, 15, 17, 17, 17, 17, 17, 15, 0, 0], "ď": [0, 0, 80, 80, 16, 30, 17, 17, 17, 30, 0, 0], "Đ": [0, 0, 0, 15, 17, 17, 19, 17, 17, 15, 0, 0], "đ": [0, 0, 16, 60, 16, 30, 17, 17, 17, 30, 0, 0], "Ē": [0, 14, 0, 31, 1, 1, 7, 1, 1, 31, 0, 0], "ē": [0, 0, 0, 14, 0, 14, 17, 31, 1, 14, 0, 0], "Ĕ": [10, 4, 0, 31, 1, 1, 7, 1, 1, 31, 0, 0], "ĕ": [0, 0, 10, 4, 0, 14, 17, 31, 1, 14, 0, 0], "Ė": [0, 4, 0, 31, 1, 1, 7, 1, 1, 31, 0, 0], "ė": [0, 0, 0, 4, 0, 14, 17, 31, 1, 14, 0, 0], "Ę": [0, 0, 0, 31, 1, 1, 7, 1, 1, 31, 4, 24], "ę": [0, 0, 0, 0, 0, 14, 17, 31, 1, 30, 4, 24], "Ě": [0, 14, 0, 31, 1, 1, 7, 1, 1, 31, 0, 0], "ě": [0, 0, 0, 10, 0, 14, 17, 31, 1, 14, 0, 0], "Ĝ": [4, 10, 0, 14, 17, 1, 29, 17, 17, 14, 0, 0], "ĝ": [0, 0, 4, 10, 0, 30, 17, 17, 17, 30, 16, 14], "Ğ": [10, 4, 0, 14, 17, 1, 29, 17, 17, 14, 0, 0], "ğ": [0, 0, 10, 4, 0, 30, 17, 17, 17, 30, 16, 14], "Ġ": [0, 4, 0, 14, 17, 1, 29, 17, 17, 14, 0, 0], "ġ": [0, 0, 0, 4, 0, 30, 17, 17, 17, 30, 16, 14], "Ģ": [0, 0, 0, 14, 17, 1, 29, 17, 17, 14, 8, 6], "ģ": [0, 0, 8, 4, 0, 30, 17, 17, 17, 30, 16, 14], "Ĥ": [4, 10, 0, 17, 17, 17, 31, 17, 17, 17, 0, 0], "ĥ": [0, 0, 8, 21, 1, 15, 17, 17, 17, 17, 0, 0], "Ħ": [0, 0, 0, 17, 63, 17, 31, 17, 17, 17, 0, 0], "ħ": [0, 0, 0, 1, 3, 1, 15, 17, 17, 17, 0, 0], "Ĩ": [22, 9, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "ĩ": [0, 0, 22, 9, 0, 6, 4, 4, 4, 31, 0, 0], "Ī": [0, 14, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "ī": [0, 0, 0, 14, 0, 6, 4, 4, 4, 31, 0, 0], "Ĭ": [10, 4, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "ĭ": [0, 0, 10, 4, 0, 6, 4, 4, 4, 31, 0, 0], "Į": [0, 0, 0, 31, 4, 4, 4, 4, 4, 31, 4, 24], "į": [0, 0, 0, 4, 0, 6, 4, 4, 4, 31, 4, 24], "İ": [22, 9, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "ı": [0, 0, 0, 0, 0, 6, 4, 4, 4, 31, 0, 0], "IJ": [0, 0, 0, 23, 18, 18, 18, 18, 18, 15, 0, 0], "ij": [0, 0, 0, 18, 0, 27, 18, 18, 18, 31, 16, 14], "Ĵ": [4, 10, 0, 16, 16, 16, 16, 17, 17, 14, 0, 0], "ĵ": [0, 0, 16, 40, 0, 24, 16, 16, 16, 16, 17, 14], "Ķ": [0, 0, 0, 17, 9, 5, 3, 5, 9, 17, 4, 4], "ķ": [0, 0, 0, 1, 1, 17, 9, 7, 9, 17, 4, 4], "ĸ": [0, 0, 0, 0, 0, 17, 9, 7, 9, 17, 0, 0], "Ĺ": [8, 4, 0, 1, 1, 1, 1, 1, 1, 31, 0, 0], "ĺ": [8, 4, 0, 31, 4, 4, 4, 4, 4, 31, 0, 0], "Ļ": [0, 0, 0, 1, 1, 1, 1, 1, 1, 31, 8, 6], "ļ": [0, 0, 0, 31, 4, 4, 4, 4, 4, 31, 8, 6], "Ľ": [0, 0, 0, 17, 17, 9, 1, 1, 1, 31, 0, 0], "ľ": [0, 0, 0, 19, 18, 10, 2, 2, 2, 28, 0, 0], "Ŀ": [0, 0, 0, 1, 1, 1, 9, 1, 1, 31, 0, 0], "ŀ": [0, 0, 0, 3, 2, 2, 10, 2, 2, 28, 0, 0], "Ł": [0, 0, 0, 1, 1, 1, 3, 1, 1, 31, 0, 0], "ł": [0, 0, 0, 3, 2, 2, 6, 3, 2, 28, 0, 0], "Ń": [8, 4, 0, 17, 17, 19, 21, 25, 17, 17, 0, 0], "ń": [0, 0, 8, 4, 0, 15, 17, 17, 17, 17, 0, 0], "Ņ": [0, 0, 0, 17, 17, 19, 21, 25, 17, 17, 4, 3], "ņ": [0, 0, 0, 0, 0, 15, 17, 17, 17, 17, 4, 3], "Ň": [10, 4, 0, 17, 17, 19, 21, 25, 17, 17, 0, 0], "ň": [0, 0, 10, 4, 0, 15, 17, 17, 17, 17, 0, 0], "ʼn": [0, 0, 0, 0, 0, 15, 17, 17, 17, 17, 0, 0], "Ŋ": [0, 0, 0, 17, 17, 19, 21, 25, 17, 17, 16, 12], "ŋ": [0, 0, 0, 0, 0, 15, 17, 17, 17, 17, 16, 12], "Ō": [0, 14, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "ō": [0, 0, 0, 14, 0, 14, 17, 17, 17, 14, 0, 0], "Ŏ": [10, 4, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "ŏ": [0, 0, 10, 4, 0, 14, 17, 17, 17, 14, 0, 0], "Ő": [20, 10, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "ő": [0, 0, 20, 10, 0, 14, 17, 17, 17, 14, 0, 0], "Œ": [0, 0, 0, 30, 5, 5, 29, 5, 5, 30, 0, 0], "œ": [0, 0, 0, 0, 0, 14, 21, 29, 5, 14, 0, 0], "Ŕ": [8, 4, 0, 15, 17, 17, 15, 17, 17, 17, 0, 0], "ŕ": [0, 0, 8, 4, 0, 13, 19, 1, 1, 1, 0, 0], "Ŗ": [0, 0, 0, 15, 17, 17, 15, 17, 17, 17, 4, 3], "ŗ": [0, 0, 0, 0, 0, 13, 19, 1, 1, 1, 4, 3], "Ř": [10, 4, 0, 15, 17, 17, 15, 17, 17, 17, 0, 0], "ř": [0, 0, 10, 4, 0, 13, 19, 1, 1, 1, 0, 0], "Ś": [8, 4, 0, 14, 17, 1, 14, 16, 17, 14, 0, 0], "ś": [0, 0, 8, 4, 0, 30, 1, 14, 16, 15, 0, 0], "Ŝ": [4, 10, 0, 14, 17, 1, 14, 16, 17, 14, 0, 0], "ŝ": [0, 0, 4, 10, 0, 30, 1, 14, 16, 15, 0, 0], "Ş": [0, 0, 0, 14, 17, 1, 14, 16, 17, 14, 4, 3], "ş": [0, 0, 0, 0, 0, 30, 1, 14, 16, 15, 4, 3], "Š": [10, 4, 0, 14, 17, 1, 14, 16, 17, 14, 0, 0], "š": [0, 0, 10, 4, 0, 30, 1, 14, 16, 15, 0, 0], "Ţ": [0, 0, 0, 31, 4, 4, 4, 4, 4, 4, 4, 3], "ţ": [0, 0, 0, 2, 2, 15, 2, 2, 2, 28, 8, 6], "Ť": [10, 4, 0, 31, 4, 4, 4, 4, 4, 4, 0, 0], "ť": [0, 0, 8, 10, 2, 15, 2, 2, 2, 28, 0, 0], "Ŧ": [0, 0, 0, 31, 4, 14, 4, 4, 4, 4, 0, 0], "ŧ": [0, 0, 0, 2, 15, 2, 15, 2, 2, 28, 0, 0], "Ũ": [22, 9, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "ũ": [0, 0, 22, 9, 0, 17, 17, 17, 17, 30, 0, 0], "Ū": [0, 14, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "ū": [0, 0, 0, 14, 0, 17, 17, 17, 17, 30, 0, 0], "Ŭ": [10, 4, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "ŭ": [0, 0, 10, 4, 0, 17, 17, 17, 17, 30, 0, 0], "Ů": [10, 4, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "ů": [0, 4, 10, 4, 0, 17, 17, 17, 17, 30, 0, 0], "Ű": [20, 10, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0], "ű": [0, 0, 20, 10, 0, 17, 17, 17, 17, 30, 0, 0], "Ų": [0, 0, 0, 17, 17, 17, 17, 17, 17, 14, 4, 24], "ų": [0, 0, 0, 0, 0, 17, 17, 17, 17, 30, 4, 24], "Ŵ": [4, 10, 0, 17, 17, 17, 17, 21, 27, 17, 0, 0], "ŵ": [0, 0, 4, 10, 0, 17, 17, 21, 21, 10, 0, 0], "Ŷ": [4, 10, 0, 17, 17, 10, 4, 4, 4, 4, 0, 0], "ŷ": [0, 0, 4, 10, 0, 17, 17, 17, 17, 30, 16, 14], "Ÿ": [0, 10, 0, 17, 17, 10, 4, 4, 4, 4, 0, 0], "Ź": [8, 4, 0, 31, 16, 8, 4, 2, 1, 31, 0, 0], "ź": [0, 0, 8, 4, 0, 31, 8, 4, 2, 31, 0, 0], "Ż": [0, 4, 0, 31, 16, 8, 4, 2, 1, 31, 0, 0], "ż": [0, 0, 0, 4, 0, 31, 8, 4, 2, 31, 0, 0], "Ž": [10, 4, 0, 31, 16, 8, 4, 2, 1, 31, 0, 0], "ž": [0, 0, 10, 4, 0, 31, 8, 4, 2, 31, 0, 0], "Ё": [0, 10, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "А": [0, 0, 0, 14, 17, 17, 17, 31, 17, 17, 0, 0], "Б": [0, 0, 0, 31, 1, 1, 15, 17, 17, 15, 0, 0], "В": [0, 0, 0, 15, 17, 17, 15, 17, 17, 15, 0, 0], "Г": [0, 0, 0, 31, 1, 1, 1, 1, 1, 1, 0, 0], "Д": [0, 0, 0, 12, 10, 10, 10, 10, 10, 31, 17, 0], "Е": [0, 0, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0], "Ж": [0, 0, 0, 21, 21, 21, 14, 21, 21, 21, 0, 0], "З": [0, 0, 0, 14, 17, 16, 14, 16, 17, 14, 0, 0], "И": [0, 0, 0, 17, 17, 25, 21, 19, 17, 17, 0, 0], "Й": [0, 10, 4, 17, 17, 25, 21, 19, 17, 17, 0, 0], "К": [0, 0, 0, 25, 5, 5, 3, 5, 9, 17, 0, 0], "Л": [0, 0, 0, 30, 18, 18, 18, 18, 18, 17, 0, 0], "М": [0, 0, 0, 17, 27, 21, 17, 17, 17, 17, 0, 0], "Н": [0, 0, 0, 17, 17, 17, 31, 17, 17, 17, 0, 0], "О": [0, 0, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0], "П": [0, 0, 0, 31, 17, 17, 17, 17, 17, 17, 0, 0], "Р": [0, 0, 0, 15, 17, 17, 15, 1, 1, 1, 0, 0], "С": [0, 0, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0], "Т": [0, 0, 0, 31, 4, 4, 4, 4, 4, 4, 0, 0], "У": [0, 0, 0, 17, 17, 17, 17, 30, 16, 14, 0, 0], "Ф": [0, 0, 0, 4, 14, 21, 21, 21, 14, 4, 0, 0], "Х": [0, 0, 0, 17, 17, 10, 4, 10, 17, 17, 0, 0], "Ц": [0, 0, 0, 0, 9, 9, 9, 9, 9, 31, 16, 0], "Ч": [0, 0, 0, 17, 17, 17, 30, 16, 16, 16, 0, 0], "Ш": [0, 0, 0, 21, 21, 21, 21, 21, 21, 31, 0, 0], "Щ": [0, 0, 0, 21, 21, 21, 21, 21, 21, 31, 16, 0], "Ъ": [0, 0, 0, 0, 3, 2, 14, 18, 18, 14, 0, 0], "Ы": [0, 0, 0, 0, 17, 17, 19, 21, 21, 19, 0, 0], "Ь": [0, 0, 0, 0, 1, 1, 15, 17, 17, 15, 0, 0], "Э": [0, 0, 0, 14, 17, 16, 28, 16, 17, 14, 0, 0], "Ю": [0, 0, 0, 9, 21, 21, 23, 21, 21, 9, 0, 0], "Я": [0, 0, 0, 0, 30, 17, 17, 30, 17, 17, 0, 0], "а": [0, 0, 0, 0, 0, 14, 16, 30, 17, 30, 0, 0], "б": [0, 0, 0, 30, 1, 13, 19, 17, 17, 14, 0, 0], "в": [0, 0, 0, 0, 0, 15, 17, 15, 17, 15, 0, 0], "г": [0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 0, 0], "д": [0, 0, 0, 0, 0, 12, 10, 10, 10, 31, 17, 0], "е": [0, 0, 0, 0, 0, 14, 17, 31, 1, 14, 0, 0], "ж": [0, 0, 0, 0, 0, 21, 14, 4, 14, 21, 0, 0], "з": [0, 0, 0, 0, 0, 6, 9, 4, 9, 6, 0, 0], "и": [0, 0, 0, 0, 0, 17, 25, 21, 19, 17, 0, 0], "й": [0, 0, 0, 10, 4, 17, 25, 21, 19, 17, 0, 0], "к": [0, 0, 0, 0, 0, 17, 9, 7, 9, 17, 0, 0], "л": [0, 0, 0, 0, 0, 30, 18, 18, 18, 17, 0, 0], "м": [0, 0, 0, 0, 0, 17, 27, 21, 17, 17, 0, 0], "н": [0, 0, 0, 0, 0, 17, 17, 31, 17, 17, 0, 0], "о": [0, 0, 0, 0, 0, 14, 17, 17, 17, 14, 0, 0], "п": [0, 0, 0, 0, 0, 31, 17, 17, 17, 17, 0, 0], "р": [0, 0, 0, 0, 0, 13, 19, 17, 17, 15, 1, 1], "с": [0, 0, 0, 0, 0, 14, 17, 1, 17, 14, 0, 0], "т": [0, 0, 0, 0, 0, 31, 4, 4, 4, 4, 0, 0], "у": [0, 0, 0, 0, 0, 17, 17, 17, 17, 30, 16, 14], "ф": [0, 0, 0, 4, 4, 14, 21, 21, 21, 14, 4, 4], "х": [0, 0, 0, 0, 0, 17, 10, 4, 10, 17, 0, 0], "ц": [0, 0, 0, 0, 0, 9, 9, 9, 9, 31, 16, 0], "ч": [0, 0, 0, 0, 0, 17, 17, 17, 30, 16, 0, 0], "ш": [0, 0, 0, 0, 0, 21, 21, 21, 21, 31, 0, 0], "щ": [0, 0, 0, 0, 0, 21, 21, 21, 21, 31, 16, 0], "ъ": [0, 0, 0, 0, 0, 3, 2, 14, 18, 14, 0, 0], "ы": [0, 0, 0, 0, 0, 17, 17, 19, 21, 19, 0, 0], "ь": [0, 0, 0, 0, 0, 1, 1, 15, 17, 15, 0, 0], "э": [0, 0, 0, 0, 0, 14, 17, 28, 17, 14, 0, 0], "ю": [0, 0, 0, 0, 0, 9, 21, 23, 21, 9, 0, 0], "я": [0, 0, 0, 0, 0, 30, 17, 17, 30, 17, 0, 0], "ё": [0, 0, 0, 10, 0, 14, 17, 31, 1, 14, 0, 0], "—": [0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0], "’": [0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0], "…": [0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 0, 0], "€": [0, 0, 0, 12, 18, 7, 2, 7, 18, 12, 0, 0], "←": [0, 0, 0, 0, 0, 4, 30, 31, 30, 4, 0, 0], "↑": [0, 0, 0, 0, 0, 4, 14, 31, 14, 14, 0, 0], "→": [0, 0, 0, 0, 0, 4, 15, 31, 15, 4, 0, 0], "↓": [0, 0, 0, 0, 0, 14, 14, 31, 14, 4, 0, 0], " ": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], } def make_bytes(ch): rows = monogram[ch] index = list(monogram).index(ch) # ordered dict comes in handy print('\t//', repr(ch)) for i, byte in enumerate(rows): if not byte: continue a = f'{byte:07b}' # convert byte to zero-left-padded str print(f'\tfont_monogram_data[{index}][{i:2}] = 0b{a};'); NUM_CHARS = len(monogram) MAX_ORD = max(map(ord, monogram)) print(f'''\ #define FONT_MONOGRAM_NUMBER_OF_CHARACTERS {NUM_CHARS} #define FONT_MONOGRAM_HEIGHT 12 #define FONT_MONOGRAM_WIDTH 7 // This is 12 bytes of data per char, as in 12 rows, and each byte // represents the pixels in that row. u8 font_monogram_data[{NUM_CHARS}][12]; // Map from ord(ch) to index of ch's data in font_monogram_data. // This is for when you know the character that you want to draw but not // its index in the font_monogram_data array. u16 font_monogram_chars[{MAX_ORD}]; void init_monogram_font_data() {{ \tmemset(font_monogram_data, 0, sizeof(font_monogram_data)); \t// Empty slots initialized to -1. \tmemset(font_monogram_chars, 0xFF, sizeof(font_monogram_chars)); ''') for i, ch in enumerate(monogram): make_bytes(ch) print(f'\tfont_monogram_chars[{hex(ord(ch))}] = {i};') print('}')