diff --git a/Translations/font_tables.py b/Translations/font_tables.py index b5d9635a..a66aee13 100755 --- a/Translations/font_tables.py +++ b/Translations/font_tables.py @@ -1,6 +1,9 @@ -# coding=utf-8 -def get_font_map(): +import functools + + +def get_font_map_ascii_basic(): font = { + # U+0000..U+007F Basic Latin " ": "0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", "!": "0x00,0x00,0x00,0x00,0x7C,0xFF,0xFF,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x00,", '"': "0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", @@ -50,7 +53,6 @@ def get_font_map(): "N": "0x00,0xFF,0xFF,0x0E,0x38,0xF0,0xC0,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00,", "O": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00,", "P": "0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,", - "Р": "0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,", "Q": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x36,0x3E,0x1C,0x3F,0x33,0x00,", "R": "0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00,", "S": "0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC7,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", @@ -97,6 +99,13 @@ def get_font_map(): "|": "0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,", "}": "0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00,", "~": "0x00,0x10,0x18,0x0C,0x04,0x0C,0x18,0x10,0x18,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + } + return font + + +def get_font_map_latin_extended(): + font = { + # U+0080..U+00FF Latin-1 Supplement "¡": "0x00,0x00,0x00,0x00,0x80,0xF3,0xF3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x3F,0x0F,0x00,0x00,0x00,0x00,", "¢": "0x00,0x00,0xE0,0xF0,0x38,0xFE,0xFE,0x18,0x38,0x30,0x00,0x00,0x00,0x00,0x03,0x07,0x0E,0x3F,0x3F,0x0C,0x0E,0x06,0x00,0x00,", "£": "0x00,0x00,0x00,0x80,0xF8,0xFC,0x8C,0x8C,0x1C,0x18,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x0B,0x18,0x18,0x18,0x18,0x08,0x00,", @@ -184,104 +193,7 @@ def get_font_map(): "ý": "0x00,0x00,0x60,0xE0,0x80,0x10,0x18,0x8C,0xE4,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,", "þ": "0x00,0x00,0x03,0xFF,0xFF,0x1B,0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x36,0x06,0x06,0x07,0x03,0x00,0x00,", "ÿ": "0x00,0x00,0x60,0xEC,0x8C,0x00,0x00,0x8C,0xEC,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,", - "Ѐ": "0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00,", - "Ё": "0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,", - "Ђ": "0x00,0x03,0xFF,0xFF,0x83,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x30,0x30,0x39,0x1F,0x0F,0x00,", - "Ѓ": "0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0E,0x0F,0x0D,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "Є": "0x00,0xF8,0xFC,0xCE,0xC7,0xC3,0xC3,0xC3,0x07,0x0E,0x0C,0x00,0x00,0x07,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,", - "Ѕ": "0x00,0x3C,0x7E,0x67,0xE3,0xC3,0xC3,0xC3,0x87,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x31,0x39,0x1F,0x0F,0x00,", - "І": "0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", - "Ї": "0x00,0x00,0x00,0x0D,0x0D,0xFC,0xFC,0x0D,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", - "Ј": "0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00,", - "Љ": "0x00,0x00,0xFE,0xFF,0x03,0x03,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F,", - "Њ": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F,", - "Ћ": "0x00,0x03,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x00,0x00,0x01,0x3F,0x3F,0x00,", - "Ќ": "0x00,0xFF,0xFF,0xC0,0xE2,0xF3,0x39,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,", - "Ѝ": "0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "Ў": "0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,", - "Џ": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00,", - "А": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,", - "Б": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", - "В": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", - "Г": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "Ґ": "0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "Д": "0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00,", - "Е": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,", - "Ж": "0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00,", - "З": "0x0C,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,", - "И": "0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "Й": "0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "К": "0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,", - "Л": "0x00,0x00,0xF0,0xFC,0x1E,0x07,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "М": "0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00,", - "Н": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "О": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00,", - "П": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "Р": "0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,", - "С": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,", - "Т": "0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,", - "У": "0x00,0x07,0x1F,0x7C,0xF0,0xC0,0xC0,0xF0,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,", - "Ф": "0x00,0xF8,0xFC,0x0E,0x06,0xFF,0xFF,0x06,0x0E,0xFC,0xF8,0x00,0x00,0x03,0x07,0x0E,0x0C,0x3F,0x3F,0x0C,0x0E,0x07,0x03,0x00,", - "Х": "0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x03,0x0F,0x3C,0x30,0x00,", - "Ц": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x1F,0x1F,0x18,0x18,0x18,0x18,0x18,0x1F,0x7F,0x78,0x00,", - "Ч": "0x00,0x7F,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "Ш": "0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00,", - "Щ": "0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x1F,0x1F,0x18,0x18,0x1F,0x7F,0x70,", - "Ъ": "0x03,0x03,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", - "Ы": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x00,0x3F,0x3F,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,0x3F,0x3F,", - "Ь": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", - "Э": "0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC7,0xCE,0xFC,0xF8,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0F,0x07,0x00,", - "Ю": "0x00,0xFF,0xFF,0xC0,0xFC,0xFE,0x07,0x03,0x07,0xFE,0xFC,0x00,0x00,0x3F,0x3F,0x00,0x0F,0x1F,0x38,0x30,0x38,0x1F,0x0F,0x00,", - "Я": "0x00,0x7C,0xFE,0xC7,0x83,0x83,0x83,0x83,0x83,0xFF,0xFF,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x03,0x01,0x01,0x3F,0x3F,0x00,", - "а": "0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00,", - "б": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,", - "в": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,", - "г": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "ґ": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x3C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "д": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00,", - "е": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", - "ж": "0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00,", - "з": "0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00,", - "и": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", - "й": "0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", - "к": "0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,", - "л": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "м": "0x00,0xF0,0xF0,0xE0,0xC0,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x03,0x01,0x00,0x3F,0x3F,0x00,", - "н": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00,", - "о": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00,", - "п": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", - "р": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0x0E,0x07,0x03,0x00,", - "с": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x18,0x08,0x00,", - "т": "0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,", - "у": "0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00,", - "ф": "0x00,0x80,0xC0,0x60,0x60,0xF0,0xF0,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x30,0x30,0xFF,0xFF,0x30,0x30,0x1F,0x0F,0x00,", - "х": "0x00,0x30,0x70,0xC0,0x80,0x00,0x00,0x80,0xC0,0x70,0x30,0x00,0x00,0x30,0x38,0x0C,0x07,0x03,0x03,0x07,0x0C,0x38,0x30,0x00,", - "ц": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x3F,0xFF,0xF0,0x00,", - "ч": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00,", - "ш": "0x00,0xF0,0xF0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00,", - "щ": "0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0xFF,0xE0,", - "ъ": "0x30,0x30,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00,", - "ы": "0x00,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x31,0x31,0x3B,0x1F,0x0E,0x00,0x3F,0x3F,0x00,", - "ь": "0x00,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00,", - "э": "0x00,0x40,0x60,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x08,0x18,0x38,0x30,0x33,0x33,0x33,0x3B,0x1F,0x0F,0x00,", - "ю": "0x00,0xF0,0xF0,0x00,0xE0,0xF0,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x3F,0x3F,0x03,0x1F,0x3F,0x30,0x30,0x30,0x3F,0x1F,0x00,", - "я": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x21,0x33,0x3B,0x1E,0x0E,0x06,0x06,0x06,0x3F,0x3F,0x00,", - "ѐ": "0x00,0xE0,0xF0,0x32,0x36,0x36,0x34,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", - "ё": "0x00,0xE0,0xF0,0x34,0x34,0x30,0x30,0x34,0x34,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", - "ђ": "0x00,0x30,0xFC,0xFC,0x30,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x07,0x03,0x01,0x01,0xC1,0xFF,0x3F,0x00,", - "ѓ": "0x00,0xF0,0xF0,0x30,0x30,0x34,0x36,0x32,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", - "є": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x30,0x38,0x18,0x08,0x00,", - "ѕ": "0x00,0xE0,0xF0,0xB0,0xB0,0x30,0x30,0x30,0x30,0x70,0x60,0x00,0x00,0x18,0x39,0x31,0x33,0x33,0x33,0x37,0x36,0x3E,0x1C,0x00,", - "і": "0x00,0x00,0x00,0x00,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", - "ї": "0x00,0x00,0x00,0x04,0x34,0xF0,0xF4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", - "ј": "0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00,", - "љ": "0x00,0x00,0xE0,0xF0,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x33,0x33,0x1E,0x0C,", - "њ": "0x00,0xF0,0xF0,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x3F,0x3F,0x33,0x33,0x1E,0x0C,", - "ћ": "0x00,0x30,0xFC,0xFC,0xB0,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00,", - "ќ": "0x00,0xF0,0xF0,0x80,0x88,0xCC,0xE4,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,", - "ѝ": "0x00,0xF0,0xF0,0x00,0x06,0x0C,0x88,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", - "ў": "0x00,0x30,0xF0,0xC0,0x04,0x08,0x08,0x04,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00,", - "џ": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0xF0,0xF0,0x30,0x30,0x3F,0x3F,0x00,", + # U+0100..U+017F Latin Extended A "Ā": "0x00,0x00,0x00,0xE0,0xF9,0x1D,0x1D,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,", "ā": "0x00,0x00,0x40,0x60,0x68,0x68,0x68,0x68,0x68,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00,", "Ă": "0x00,0x00,0x00,0xE0,0xF9,0x1A,0x1A,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,", @@ -414,8 +326,114 @@ def get_font_map(): return font -def get_small_font_map(): +def get_font_map_cyrillic(): font = { + # U+0400..U+04FF Cyrillic + "Ѐ": "0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00,", + "Ё": "0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,", + "Ђ": "0x00,0x03,0xFF,0xFF,0x83,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x30,0x30,0x39,0x1F,0x0F,0x00,", + "Ѓ": "0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0E,0x0F,0x0D,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "Є": "0x00,0xF8,0xFC,0xCE,0xC7,0xC3,0xC3,0xC3,0x07,0x0E,0x0C,0x00,0x00,0x07,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,", + "Ѕ": "0x00,0x3C,0x7E,0x67,0xE3,0xC3,0xC3,0xC3,0x87,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x31,0x39,0x1F,0x0F,0x00,", + "І": "0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", + "Ї": "0x00,0x00,0x00,0x0D,0x0D,0xFC,0xFC,0x0D,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", + "Ј": "0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00,", + "Љ": "0x00,0x00,0xFE,0xFF,0x03,0x03,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F,", + "Њ": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F,", + "Ћ": "0x00,0x03,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x00,0x00,0x01,0x3F,0x3F,0x00,", + "Ќ": "0x00,0xFF,0xFF,0xC0,0xE2,0xF3,0x39,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,", + "Ѝ": "0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "Ў": "0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,", + "Џ": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00,", + "А": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,", + "Б": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", + "В": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", + "Г": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "Ґ": "0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "Д": "0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00,", + "Е": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,", + "Ж": "0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00,", + "З": "0x0C,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,", + "И": "0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "Й": "0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "К": "0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,", + "Л": "0x00,0x00,0xF0,0xFC,0x1E,0x07,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "М": "0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00,", + "Н": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "О": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00,", + "П": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "Р": "0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,", + "С": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,", + "Т": "0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,", + "У": "0x00,0x07,0x1F,0x7C,0xF0,0xC0,0xC0,0xF0,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,", + "Ф": "0x00,0xF8,0xFC,0x0E,0x06,0xFF,0xFF,0x06,0x0E,0xFC,0xF8,0x00,0x00,0x03,0x07,0x0E,0x0C,0x3F,0x3F,0x0C,0x0E,0x07,0x03,0x00,", + "Х": "0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x03,0x0F,0x3C,0x30,0x00,", + "Ц": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x1F,0x1F,0x18,0x18,0x18,0x18,0x18,0x1F,0x7F,0x78,0x00,", + "Ч": "0x00,0x7F,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "Ш": "0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00,", + "Щ": "0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x1F,0x1F,0x18,0x18,0x1F,0x7F,0x70,", + "Ъ": "0x03,0x03,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", + "Ы": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x00,0x3F,0x3F,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,0x3F,0x3F,", + "Ь": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,", + "Э": "0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC7,0xCE,0xFC,0xF8,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0F,0x07,0x00,", + "Ю": "0x00,0xFF,0xFF,0xC0,0xFC,0xFE,0x07,0x03,0x07,0xFE,0xFC,0x00,0x00,0x3F,0x3F,0x00,0x0F,0x1F,0x38,0x30,0x38,0x1F,0x0F,0x00,", + "Я": "0x00,0x7C,0xFE,0xC7,0x83,0x83,0x83,0x83,0x83,0xFF,0xFF,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x03,0x01,0x01,0x3F,0x3F,0x00,", + "а": "0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00,", + "б": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,", + "в": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,", + "г": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "ґ": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x3C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "д": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00,", + "е": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", + "ж": "0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00,", + "з": "0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00,", + "и": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", + "й": "0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", + "к": "0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,", + "л": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "м": "0x00,0xF0,0xF0,0xE0,0xC0,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x03,0x01,0x00,0x3F,0x3F,0x00,", + "н": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00,", + "о": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00,", + "п": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,", + "р": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0x0E,0x07,0x03,0x00,", + "с": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x18,0x08,0x00,", + "т": "0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,", + "у": "0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00,", + "ф": "0x00,0x80,0xC0,0x60,0x60,0xF0,0xF0,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x30,0x30,0xFF,0xFF,0x30,0x30,0x1F,0x0F,0x00,", + "х": "0x00,0x30,0x70,0xC0,0x80,0x00,0x00,0x80,0xC0,0x70,0x30,0x00,0x00,0x30,0x38,0x0C,0x07,0x03,0x03,0x07,0x0C,0x38,0x30,0x00,", + "ц": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x3F,0xFF,0xF0,0x00,", + "ч": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00,", + "ш": "0x00,0xF0,0xF0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00,", + "щ": "0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0xFF,0xE0,", + "ъ": "0x30,0x30,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00,", + "ы": "0x00,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x31,0x31,0x3B,0x1F,0x0E,0x00,0x3F,0x3F,0x00,", + "ь": "0x00,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00,", + "э": "0x00,0x40,0x60,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x08,0x18,0x38,0x30,0x33,0x33,0x33,0x3B,0x1F,0x0F,0x00,", + "ю": "0x00,0xF0,0xF0,0x00,0xE0,0xF0,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x3F,0x3F,0x03,0x1F,0x3F,0x30,0x30,0x30,0x3F,0x1F,0x00,", + "я": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x21,0x33,0x3B,0x1E,0x0E,0x06,0x06,0x06,0x3F,0x3F,0x00,", + "ѐ": "0x00,0xE0,0xF0,0x32,0x36,0x36,0x34,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", + "ё": "0x00,0xE0,0xF0,0x34,0x34,0x30,0x30,0x34,0x34,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,", + "ђ": "0x00,0x30,0xFC,0xFC,0x30,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x07,0x03,0x01,0x01,0xC1,0xFF,0x3F,0x00,", + "ѓ": "0x00,0xF0,0xF0,0x30,0x30,0x34,0x36,0x32,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "є": "0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x30,0x38,0x18,0x08,0x00,", + "ѕ": "0x00,0xE0,0xF0,0xB0,0xB0,0x30,0x30,0x30,0x30,0x70,0x60,0x00,0x00,0x18,0x39,0x31,0x33,0x33,0x33,0x37,0x36,0x3E,0x1C,0x00,", + "і": "0x00,0x00,0x00,0x00,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", + "ї": "0x00,0x00,0x00,0x04,0x34,0xF0,0xF4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00,", + "ј": "0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00,", + "љ": "0x00,0x00,0xE0,0xF0,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x33,0x33,0x1E,0x0C,", + "њ": "0x00,0xF0,0xF0,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x3F,0x3F,0x33,0x33,0x1E,0x0C,", + "ћ": "0x00,0x30,0xFC,0xFC,0xB0,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00,", + "ќ": "0x00,0xF0,0xF0,0x80,0x88,0xCC,0xE4,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,", + "ѝ": "0x00,0xF0,0xF0,0x00,0x06,0x0C,0x88,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,", + "ў": "0x00,0x30,0xF0,0xC0,0x04,0x08,0x08,0x04,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00,", + "џ": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0xF0,0xF0,0x30,0x30,0x3F,0x3F,0x00,", + } + return font + + +def get_small_font_map_ascii_basic(): + font = { + # U+0000..U+007F Basic Latin " ": "0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", "!": "0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,", '"': "0x00, 0x07, 0x00, 0x07, 0x00, 0x00,", @@ -511,6 +529,13 @@ def get_small_font_map(): "|": "0x00, 0x00, 0x77, 0x00, 0x00, 0x00,", "}": "0x00, 0x00, 0x41, 0x36, 0x08, 0x00,", "~": "0x02, 0x01, 0x02, 0x04, 0x02, 0x00,", + } + return font + + +def get_small_font_map_latin_extended(): + font = { + # U+0080..U+00FF Latin-1 Supplement "¡": "0x00, 0x00, 0x79, 0x00, 0x00, 0x00,", "¢": "0x1c, 0x22, 0x7f, 0x22, 0x10, 0x00,", "£": "0x50, 0x7e, 0x51, 0x41, 0x42, 0x00,", @@ -562,7 +587,6 @@ def get_small_font_map(): "Ô": "0x38, 0x46, 0x45, 0x46, 0x38, 0x00,", "Õ": "0x32, 0x49, 0x4a, 0x31, 0x00, 0x00,", "Ö": "0x38, 0x45, 0x44, 0x45, 0x38, 0x00,", - "ő": "0x38, 0x45, 0x44, 0x45, 0x38, 0x00,", "×": "0x22, 0x14, 0x08, 0x14, 0x22, 0x00,", "Ø": "0x58, 0x24, 0x54, 0x48, 0x34, 0x00,", "Ù": "0x38, 0x41, 0x42, 0x40, 0x38, 0x00,", @@ -605,6 +629,130 @@ def get_small_font_map(): "ý": "0x44, 0x48, 0x32, 0x11, 0x0c, 0x00,", "þ": "0x7c, 0x28, 0x28, 0x10, 0x00, 0x00,", "ÿ": "0x44, 0x49, 0x30, 0x11, 0x0c, 0x00,", + # U+0100..U+017F Latin Extended A + "Ā": "0x78, 0x15, 0x15, 0x15, 0x78, 0x00,", + "ā": "0x20, 0x55, 0x55, 0x55, 0x78, 0x00,", + "Ă": "0x78, 0x15, 0x16, 0x15, 0x78, 0x00,", + "ă": "0x20, 0x55, 0x56, 0x55, 0x78, 0x00,", + "Ą": "0x7e, 0x09, 0x09, 0x49, 0xbe, 0x00,", + "ą": "0x20, 0x54, 0x54, 0xd4, 0x78, 0x00,", + "Ć": "0x38, 0x44, 0x46, 0x45, 0x28, 0x00,", + "ć": "0x38, 0x44, 0x46, 0x45, 0x20, 0x00,", + "Ĉ": "0x38, 0x46, 0x45, 0x46, 0x28, 0x00,", + "ĉ": "0x38, 0x46, 0x45, 0x46, 0x20, 0x00,", + "Ċ": "0x38, 0x44, 0x45, 0x44, 0x28, 0x00,", + "ċ": "0x38, 0x44, 0x45, 0x44, 0x20, 0x00,", + "Č": "0x38, 0x45, 0x46, 0x45, 0x28, 0x00,", + "č": "0x38, 0x45, 0x46, 0x45, 0x20, 0x00,", + "Ď": "0x7c, 0x45, 0x46, 0x29, 0x10, 0x00,", + "ď": "0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00,", + "Đ": "0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00,", + "đ": "0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00,", + "Ē": "0x7c, 0x55, 0x55, 0x55, 0x44, 0x00,", + "ē": "0x38, 0x55, 0x55, 0x55, 0x08, 0x00,", + "Ĕ": "0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", + "ĕ": "0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", + "Ė": "0x7c, 0x54, 0x55, 0x54, 0x44, 0x00,", + "ė": "0x38, 0x54, 0x55, 0x54, 0x08, 0x00,", + "Ę": "0x7f, 0x49, 0x49, 0xc9, 0x41, 0x00,", + "ę": "0x38, 0x54, 0x54, 0xd4, 0x18, 0x00,", + "Ě": "0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", + "ě": "0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", + "Ĝ": "0x38, 0x46, 0x55, 0x56, 0x70, 0x00,", + "ĝ": "0x08, 0x56, 0x55, 0x56, 0x3c, 0x00,", + "Ğ": "0x38, 0x45, 0x56, 0x55, 0x30, 0x00,", + "ğ": "0x08, 0x55, 0x56, 0x55, 0x3c, 0x00,", + "Ġ": "0x38, 0x44, 0x55, 0x54, 0x30, 0x00,", + "ġ": "0x08, 0x54, 0x55, 0x54, 0x3c, 0x00,", + "Ģ": "0x0e, 0x51, 0x35, 0x15, 0x1c, 0x00,", + "Ĥ": "0x7c, 0x12, 0x11, 0x12, 0x7c, 0x00,", + "ĥ": "0x02, 0x79, 0x22, 0x10, 0x60, 0x00,", + "Ħ": "0x02, 0x7f, 0x0a, 0x7f, 0x02, 0x00,", + "ħ": "0x02, 0x7f, 0x12, 0x08, 0x70, 0x00,", + "Ĩ": "0x4a, 0x49, 0x7a, 0x49, 0x48, 0x00,", + "ĩ": "0x02, 0x49, 0x7a, 0x41, 0x00, 0x00,", + "Ī": "0x44, 0x45, 0x7d, 0x45, 0x44, 0x00,", + "ī": "0x00, 0x45, 0x7d, 0x41, 0x00, 0x00,", + "Ĭ": "0x44, 0x45, 0x7e, 0x45, 0x44, 0x00,", + "ĭ": "0x00, 0x45, 0x7e, 0x41, 0x00, 0x00,", + "Į": "0x00, 0x41, 0x7f, 0xc1, 0x00, 0x00,", + "į": "0x00, 0x44, 0x7d, 0xc0, 0x00, 0x00,", + "İ": "0x44, 0x44, 0x7d, 0x44, 0x44, 0x00,", + "ı": "0x00, 0x44, 0x7c, 0x40, 0x00, 0x00,", + "ij": "0x44, 0x7d, 0x40, 0x44, 0x3d, 0x00,", + "Ĵ": "0x20, 0x40, 0x46, 0x3d, 0x06, 0x00,", + "ĵ": "0x00, 0x20, 0x46, 0x3d, 0x02, 0x00,", + "Ķ": "0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", + "ķ": "0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", + "ĸ": "0x7c, 0x10, 0x28, 0x44, 0x00, 0x00,", + "Ĺ": "0x7c, 0x40, 0x42, 0x41, 0x40, 0x00,", + "Ľ": "0x7c, 0x40, 0x42, 0x41, 0x40, 0x00,", + "ĺ": "0x00, 0x44, 0x7e, 0x41, 0x00, 0x00,", + "Ļ": "0x1f, 0x50, 0x30, 0x10, 0x10, 0x00,", + "ļ": "0x00, 0x51, 0x3f, 0x10, 0x00, 0x00,", + "ľ": "0x00, 0x41, 0x7f, 0x40, 0x03, 0x00,", + "Ŀ": "0x7f, 0x40, 0x40, 0x48, 0x40, 0x00,", + "ŀ": "0x00, 0x41, 0x7f, 0x40, 0x08, 0x00,", + "Ł": "0x10, 0x7F, 0x48, 0x44, 0x40, 0x00,", + "ł": "0x00, 0x49, 0x7F, 0x44, 0x00, 0x00,", + "Ń": "0x7c, 0x08, 0x12, 0x21, 0x7c, 0x00,", + "ń": "0x7c, 0x08, 0x06, 0x05, 0x78, 0x00,", + "Ņ": "0x1f, 0x42, 0x24, 0x08, 0x1f, 0x00,", + "ņ": "0x1f, 0x42, 0x21, 0x01, 0x1e, 0x00,", + "Ň": "0x7c, 0x09, 0x12, 0x21, 0x7c, 0x00,", + "ň": "0x7c, 0x09, 0x06, 0x05, 0x78, 0x00,", + "Ō": "0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", + "ō": "0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", + "Ŏ": "0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", + "ŏ": "0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", + "ő": "0x38, 0x45, 0x44, 0x45, 0x38, 0x00,", + "Œ": "0x3e, 0x41, 0x7f, 0x49, 0x49, 0x00,", + "œ": "0x38, 0x44, 0x7c, 0x54, 0x58, 0x00,", + "Ŕ": "0x7c, 0x14, 0x16, 0x15, 0x68, 0x00,", + "ŕ": "0x7c, 0x08, 0x06, 0x05, 0x08, 0x00,", + "Ŗ": "0x1f, 0x45, 0x25, 0x05, 0x1a, 0x00,", + "ŗ": "0x1f, 0x42, 0x21, 0x01, 0x02, 0x00,", + "Ř": "0x7c, 0x15, 0x16, 0x15, 0x68, 0x00,", + "ř": "0x7c, 0x09, 0x06, 0x05, 0x08, 0x00,", + "Ś": "0x08, 0x54, 0x56, 0x55, 0x20, 0x00,", + "ś": "0x48, 0x54, 0x56, 0x55, 0x24, 0x00,", + "Ŝ": "0x08, 0x56, 0x55, 0x56, 0x20, 0x00,", + "ŝ": "0x48, 0x56, 0x55, 0x56, 0x24, 0x00,", + "Ş": "0x02, 0x55, 0x35, 0x15, 0x08, 0x00,", + "ş": "0x12, 0x55, 0x35, 0x15, 0x09, 0x00,", + "Š": "0x08, 0x55, 0x56, 0x55, 0x20, 0x00,", + "š": "0x48, 0x55, 0x56, 0x55, 0x24, 0x00,", + "Ţ": "0x01, 0x41, 0x3f, 0x01, 0x01, 0x00,", + "ţ": "0x02, 0x4f, 0x32, 0x10, 0x08, 0x00,", + "Ť": "0x04, 0x05, 0x7e, 0x05, 0x04, 0x00,", + "ť": "0x04, 0x3e, 0x44, 0x40, 0x23, 0x00,", + "Ŧ": "0x01, 0x09, 0x7f, 0x09, 0x01, 0x00,", + "ŧ": "0x14, 0x3e, 0x54, 0x40, 0x20, 0x00,", + "Ū": "0x3c, 0x41, 0x41, 0x41, 0x3c, 0x00,", + "ū": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ŭ": "0x3c, 0x41, 0x42, 0x41, 0x3c, 0x00,", + "ŭ": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ů": "0x3c, 0x40, 0x41, 0x40, 0x3c, 0x00,", + "ů": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ŵ": "0x3c, 0x42, 0x39, 0x42, 0x3c, 0x00,", + "ŵ": "0x3c, 0x42, 0x31, 0x42, 0x3c, 0x00,", + "Ŷ": "0x04, 0x0a, 0x71, 0x0a, 0x04, 0x00,", + "ŷ": "0x04, 0x4a, 0x31, 0x12, 0x0c, 0x00,", + "Ÿ": "0x04, 0x09, 0x70, 0x09, 0x04, 0x00,", + "Ź": "0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", + "ź": "0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", + "Ż": "0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", + "ż": "0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", + "Ž": "0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", + "ž": "0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", + "ſ": "0x00, 0x04, 0x7e, 0x01, 0x01, 0x00,", + } + return font + + +def get_small_font_map_cyrillic(): + font = { + # U+0400..U+04FF Cyrillic "Ѐ": "0x7c, 0x55, 0x56, 0x44, 0x44, 0x00,", "Ё": "0x7c, 0x55, 0x54, 0x45, 0x44, 0x00,", "Ђ": "0x01, 0x7f, 0x09, 0x49, 0x31, 0x00,", @@ -703,120 +851,23 @@ def get_small_font_map(): "ѝ": "0x7c, 0x21, 0x12, 0x08, 0x7c, 0x00,", "ў": "0x4c, 0x51, 0x22, 0x11, 0x0c, 0x00,", "џ": "0x3c, 0x20, 0x60, 0x20, 0x3c, 0x00,", - "Ā": "0x78, 0x15, 0x15, 0x15, 0x78, 0x00,", - "ā": "0x20, 0x55, 0x55, 0x55, 0x78, 0x00,", - "Ă": "0x78, 0x15, 0x16, 0x15, 0x78, 0x00,", - "ă": "0x20, 0x55, 0x56, 0x55, 0x78, 0x00,", - "Ą": "0x7e, 0x09, 0x09, 0x49, 0xbe, 0x00,", - "ą": "0x20, 0x54, 0x54, 0xd4, 0x78, 0x00,", - "Ć": "0x38, 0x44, 0x46, 0x45, 0x28, 0x00,", - "ć": "0x38, 0x44, 0x46, 0x45, 0x20, 0x00,", - "Ĉ": "0x38, 0x46, 0x45, 0x46, 0x28, 0x00,", - "ĉ": "0x38, 0x46, 0x45, 0x46, 0x20, 0x00,", - "Ċ": "0x38, 0x44, 0x45, 0x44, 0x28, 0x00,", - "ċ": "0x38, 0x44, 0x45, 0x44, 0x20, 0x00,", - "Č": "0x38, 0x45, 0x46, 0x45, 0x28, 0x00,", - "č": "0x38, 0x45, 0x46, 0x45, 0x20, 0x00,", - "Ď": "0x7c, 0x45, 0x46, 0x29, 0x10, 0x00,", - "ď": "0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00,", - "Đ": "0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00,", - "đ": "0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00,", - "Ē": "0x7c, 0x55, 0x55, 0x55, 0x44, 0x00,", - "ē": "0x38, 0x55, 0x55, 0x55, 0x08, 0x00,", - "Ĕ": "0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", - "ĕ": "0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", - "Ė": "0x7c, 0x54, 0x55, 0x54, 0x44, 0x00,", - "ė": "0x38, 0x54, 0x55, 0x54, 0x08, 0x00,", - "Ę": "0x7f, 0x49, 0x49, 0xc9, 0x41, 0x00,", - "ę": "0x38, 0x54, 0x54, 0xd4, 0x18, 0x00,", - "Ě": "0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", - "ě": "0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", - "Ĝ": "0x38, 0x46, 0x55, 0x56, 0x70, 0x00,", - "ĝ": "0x08, 0x56, 0x55, 0x56, 0x3c, 0x00,", - "Ğ": "0x38, 0x45, 0x56, 0x55, 0x30, 0x00,", - "ğ": "0x08, 0x55, 0x56, 0x55, 0x3c, 0x00,", - "Ġ": "0x38, 0x44, 0x55, 0x54, 0x30, 0x00,", - "ġ": "0x08, 0x54, 0x55, 0x54, 0x3c, 0x00,", - "Ģ": "0x0e, 0x51, 0x35, 0x15, 0x1c, 0x00,", - "Ĥ": "0x7c, 0x12, 0x11, 0x12, 0x7c, 0x00,", - "ĥ": "0x02, 0x79, 0x22, 0x10, 0x60, 0x00,", - "Ħ": "0x02, 0x7f, 0x0a, 0x7f, 0x02, 0x00,", - "ħ": "0x02, 0x7f, 0x12, 0x08, 0x70, 0x00,", - "Ĩ": "0x4a, 0x49, 0x7a, 0x49, 0x48, 0x00,", - "ĩ": "0x02, 0x49, 0x7a, 0x41, 0x00, 0x00,", - "Ī": "0x44, 0x45, 0x7d, 0x45, 0x44, 0x00,", - "ī": "0x00, 0x45, 0x7d, 0x41, 0x00, 0x00,", - "Ĭ": "0x44, 0x45, 0x7e, 0x45, 0x44, 0x00,", - "ĭ": "0x00, 0x45, 0x7e, 0x41, 0x00, 0x00,", - "Į": "0x00, 0x41, 0x7f, 0xc1, 0x00, 0x00,", - "į": "0x00, 0x44, 0x7d, 0xc0, 0x00, 0x00,", - "İ": "0x44, 0x44, 0x7d, 0x44, 0x44, 0x00,", - "ı": "0x00, 0x44, 0x7c, 0x40, 0x00, 0x00,", - "ij": "0x44, 0x7d, 0x40, 0x44, 0x3d, 0x00,", - "Ĵ": "0x20, 0x40, 0x46, 0x3d, 0x06, 0x00,", - "ĵ": "0x00, 0x20, 0x46, 0x3d, 0x02, 0x00,", - "Ķ": "0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", - "ķ": "0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", - "ĸ": "0x7c, 0x10, 0x28, 0x44, 0x00, 0x00,", - "Ĺ": "0x7c, 0x40, 0x42, 0x41, 0x40, 0x00,", - "Ľ": "0x7c, 0x40, 0x42, 0x41, 0x40, 0x00,", - "ĺ": "0x00, 0x44, 0x7e, 0x41, 0x00, 0x00,", - "Ļ": "0x1f, 0x50, 0x30, 0x10, 0x10, 0x00,", - "ļ": "0x00, 0x51, 0x3f, 0x10, 0x00, 0x00,", - "ľ": "0x00, 0x41, 0x7f, 0x40, 0x03, 0x00,", - "Ŀ": "0x7f, 0x40, 0x40, 0x48, 0x40, 0x00,", - "ŀ": "0x00, 0x41, 0x7f, 0x40, 0x08, 0x00,", - "Ł": "0x10, 0x7F, 0x48, 0x44, 0x40, 0x00,", - "ł": "0x00, 0x49, 0x7F, 0x44, 0x00, 0x00,", - "Ń": "0x7c, 0x08, 0x12, 0x21, 0x7c, 0x00,", - "ń": "0x7c, 0x08, 0x06, 0x05, 0x78, 0x00,", - "Ņ": "0x1f, 0x42, 0x24, 0x08, 0x1f, 0x00,", - "ņ": "0x1f, 0x42, 0x21, 0x01, 0x1e, 0x00,", - "Ň": "0x7c, 0x09, 0x12, 0x21, 0x7c, 0x00,", - "ň": "0x7c, 0x09, 0x06, 0x05, 0x78, 0x00,", - "Ō": "0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", - "ō": "0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", - "Ŏ": "0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", - "ŏ": "0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", - "Œ": "0x3e, 0x41, 0x7f, 0x49, 0x49, 0x00,", - "œ": "0x38, 0x44, 0x7c, 0x54, 0x58, 0x00,", - "Ŕ": "0x7c, 0x14, 0x16, 0x15, 0x68, 0x00,", - "ŕ": "0x7c, 0x08, 0x06, 0x05, 0x08, 0x00,", - "Ŗ": "0x1f, 0x45, 0x25, 0x05, 0x1a, 0x00,", - "ŗ": "0x1f, 0x42, 0x21, 0x01, 0x02, 0x00,", - "Ř": "0x7c, 0x15, 0x16, 0x15, 0x68, 0x00,", - "ř": "0x7c, 0x09, 0x06, 0x05, 0x08, 0x00,", - "Ś": "0x08, 0x54, 0x56, 0x55, 0x20, 0x00,", - "ś": "0x48, 0x54, 0x56, 0x55, 0x24, 0x00,", - "Ŝ": "0x08, 0x56, 0x55, 0x56, 0x20, 0x00,", - "ŝ": "0x48, 0x56, 0x55, 0x56, 0x24, 0x00,", - "Ş": "0x02, 0x55, 0x35, 0x15, 0x08, 0x00,", - "ş": "0x12, 0x55, 0x35, 0x15, 0x09, 0x00,", - "Š": "0x08, 0x55, 0x56, 0x55, 0x20, 0x00,", - "š": "0x48, 0x55, 0x56, 0x55, 0x24, 0x00,", - "Ţ": "0x01, 0x41, 0x3f, 0x01, 0x01, 0x00,", - "ţ": "0x02, 0x4f, 0x32, 0x10, 0x08, 0x00,", - "Ť": "0x04, 0x05, 0x7e, 0x05, 0x04, 0x00,", - "ť": "0x04, 0x3e, 0x44, 0x40, 0x23, 0x00,", - "Ŧ": "0x01, 0x09, 0x7f, 0x09, 0x01, 0x00,", - "ŧ": "0x14, 0x3e, 0x54, 0x40, 0x20, 0x00,", - "Ū": "0x3c, 0x41, 0x41, 0x41, 0x3c, 0x00,", - "ū": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", - "Ŭ": "0x3c, 0x41, 0x42, 0x41, 0x3c, 0x00,", - "ŭ": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", - "Ů": "0x3c, 0x40, 0x41, 0x40, 0x3c, 0x00,", - "ů": "0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", - "Ŵ": "0x3c, 0x42, 0x39, 0x42, 0x3c, 0x00,", - "ŵ": "0x3c, 0x42, 0x31, 0x42, 0x3c, 0x00,", - "Ŷ": "0x04, 0x0a, 0x71, 0x0a, 0x04, 0x00,", - "ŷ": "0x04, 0x4a, 0x31, 0x12, 0x0c, 0x00,", - "Ÿ": "0x04, 0x09, 0x70, 0x09, 0x04, 0x00,", - "Ź": "0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", - "ź": "0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", - "Ż": "0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", - "ż": "0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", - "Ž": "0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", - "ž": "0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", - "ſ": "0x00, 0x04, 0x7e, 0x01, 0x01, 0x00,", } return font + + +@functools.lru_cache(maxsize=None) +def get_font_map(): + return { + **get_font_map_ascii_basic(), + **get_font_map_latin_extended(), + **get_font_map_cyrillic(), + } + + +@functools.lru_cache(maxsize=None) +def get_small_font_map(): + return { + **get_small_font_map_ascii_basic(), + **get_small_font_map_latin_extended(), + **get_small_font_map_cyrillic(), + }