add more cn chars

This commit is contained in:
2026-01-31 17:34:38 +08:00
parent ccd5f1741e
commit fc258f11cd
17 changed files with 619 additions and 32 deletions

View File

@@ -217,7 +217,7 @@ def cb_progress(data):
def start():
# 初始化液晶屏
display.init_display(config.get("bl_mode")=="pwm", 5120)
display.init_display(config.get("bl_mode")=="pwm", 7000)
display.brightness(int(config.get("brightness", 10)))
cb_progress("WiFi connect ...")

File diff suppressed because one or more lines are too long

BIN
utils/assets/images/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
utils/assets/images/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
utils/assets/images/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
utils/assets/images/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
utils/assets/images/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
utils/assets/images/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
utils/assets/images/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
utils/assets/images/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
utils/assets/images/ap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

BIN
utils/assets/images/t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

View File

@@ -0,0 +1,364 @@
WIDTH = 32
HEIGHT = 32
FIRST = 0x20
LAST = 0x7f
_font =\
b'\x00\x4a\x5a\x17\x4d\x58\x52\x46\x52\x54\x53\x54\x20\x52\x52'\
b'\x46\x53\x46\x53\x54\x20\x52\x52\x58\x51\x59\x51\x5a\x52\x5b'\
b'\x53\x5b\x54\x5a\x54\x59\x53\x58\x52\x58\x20\x52\x52\x59\x52'\
b'\x5a\x53\x5a\x53\x59\x52\x59\x15\x49\x5b\x4e\x46\x4d\x47\x4d'\
b'\x4d\x20\x52\x4e\x47\x4d\x4d\x20\x52\x4e\x46\x4f\x47\x4d\x4d'\
b'\x20\x52\x57\x46\x56\x47\x56\x4d\x20\x52\x57\x47\x56\x4d\x20'\
b'\x52\x57\x46\x58\x47\x56\x4d\x0b\x48\x5d\x53\x42\x4c\x62\x20'\
b'\x52\x59\x42\x52\x62\x20\x52\x4c\x4f\x5a\x4f\x20\x52\x4b\x55'\
b'\x59\x55\x32\x49\x5c\x52\x42\x52\x5f\x53\x5f\x20\x52\x52\x42'\
b'\x53\x42\x53\x5f\x20\x52\x57\x49\x59\x49\x57\x47\x54\x46\x51'\
b'\x46\x4e\x47\x4c\x49\x4c\x4b\x4d\x4d\x4e\x4e\x56\x52\x57\x53'\
b'\x58\x55\x58\x57\x57\x59\x54\x5a\x51\x5a\x4f\x59\x4e\x58\x20'\
b'\x52\x57\x49\x56\x48\x54\x47\x51\x47\x4e\x48\x4d\x49\x4d\x4b'\
b'\x4e\x4d\x56\x51\x58\x53\x59\x55\x59\x57\x58\x59\x57\x5a\x54'\
b'\x5b\x51\x5b\x4e\x5a\x4c\x58\x4e\x58\x20\x52\x58\x58\x55\x5a'\
b'\x1f\x46\x5e\x5b\x46\x49\x5b\x20\x52\x4e\x46\x50\x48\x50\x4a'\
b'\x4f\x4c\x4d\x4d\x4b\x4d\x49\x4b\x49\x49\x4a\x47\x4c\x46\x4e'\
b'\x46\x50\x47\x53\x48\x56\x48\x59\x47\x5b\x46\x20\x52\x57\x54'\
b'\x55\x55\x54\x57\x54\x59\x56\x5b\x58\x5b\x5a\x5a\x5b\x58\x5b'\
b'\x56\x59\x54\x57\x54\x30\x46\x5f\x5b\x4e\x5a\x4f\x5b\x50\x5c'\
b'\x4f\x5c\x4e\x5b\x4d\x5a\x4d\x59\x4e\x58\x50\x56\x55\x54\x58'\
b'\x52\x5a\x50\x5b\x4d\x5b\x4a\x5a\x49\x58\x49\x55\x4a\x53\x50'\
b'\x4f\x52\x4d\x53\x4b\x53\x49\x52\x47\x50\x46\x4e\x47\x4d\x49'\
b'\x4d\x4b\x4e\x4e\x50\x51\x55\x58\x57\x5a\x5a\x5b\x5b\x5b\x5c'\
b'\x5a\x5c\x59\x20\x52\x4d\x5b\x4b\x5a\x4a\x58\x4a\x55\x4b\x53'\
b'\x4d\x51\x20\x52\x4d\x4b\x4e\x4d\x56\x58\x58\x5a\x5a\x5b\x0a'\
b'\x4e\x57\x53\x46\x52\x47\x52\x4d\x20\x52\x53\x47\x52\x4d\x20'\
b'\x52\x53\x46\x54\x47\x52\x4d\x13\x4b\x59\x56\x42\x54\x44\x52'\
b'\x47\x50\x4b\x4f\x50\x4f\x54\x50\x59\x52\x5d\x54\x60\x56\x62'\
b'\x20\x52\x54\x44\x52\x48\x51\x4b\x50\x50\x50\x54\x51\x59\x52'\
b'\x5c\x54\x60\x13\x4b\x59\x4e\x42\x50\x44\x52\x47\x54\x4b\x55'\
b'\x50\x55\x54\x54\x59\x52\x5d\x50\x60\x4e\x62\x20\x52\x50\x44'\
b'\x52\x48\x53\x4b\x54\x50\x54\x54\x53\x59\x52\x5c\x50\x60\x26'\
b'\x4a\x5a\x52\x46\x51\x47\x53\x51\x52\x52\x20\x52\x52\x46\x52'\
b'\x52\x20\x52\x52\x46\x53\x47\x51\x51\x52\x52\x20\x52\x4d\x49'\
b'\x4e\x49\x56\x4f\x57\x4f\x20\x52\x4d\x49\x57\x4f\x20\x52\x4d'\
b'\x49\x4d\x4a\x57\x4e\x57\x4f\x20\x52\x57\x49\x56\x49\x4e\x4f'\
b'\x4d\x4f\x20\x52\x57\x49\x4d\x4f\x20\x52\x57\x49\x57\x4a\x4d'\
b'\x4e\x4d\x4f\x0f\x46\x5f\x52\x49\x52\x5a\x53\x5a\x20\x52\x52'\
b'\x49\x53\x49\x53\x5a\x20\x52\x4a\x51\x5b\x51\x5b\x52\x20\x52'\
b'\x4a\x51\x4a\x52\x5b\x52\x17\x4d\x58\x54\x5a\x53\x5b\x52\x5b'\
b'\x51\x5a\x51\x59\x52\x58\x53\x58\x54\x59\x54\x5c\x53\x5e\x51'\
b'\x5f\x20\x52\x52\x59\x52\x5a\x53\x5a\x53\x59\x52\x59\x20\x52'\
b'\x53\x5b\x54\x5c\x20\x52\x54\x5a\x53\x5e\x02\x45\x5f\x49\x52'\
b'\x5b\x52\x0f\x4d\x58\x52\x58\x51\x59\x51\x5a\x52\x5b\x53\x5b'\
b'\x54\x5a\x54\x59\x53\x58\x52\x58\x20\x52\x52\x59\x52\x5a\x53'\
b'\x5a\x53\x59\x52\x59\x07\x47\x5e\x5b\x42\x49\x62\x4a\x62\x20'\
b'\x52\x5b\x42\x5c\x42\x4a\x62\x29\x48\x5c\x51\x46\x4e\x47\x4c'\
b'\x4a\x4b\x4f\x4b\x52\x4c\x57\x4e\x5a\x51\x5b\x53\x5b\x56\x5a'\
b'\x58\x57\x59\x52\x59\x4f\x58\x4a\x56\x47\x53\x46\x51\x46\x20'\
b'\x52\x4f\x47\x4d\x4a\x4c\x4f\x4c\x52\x4d\x57\x4f\x5a\x20\x52'\
b'\x4e\x59\x51\x5a\x53\x5a\x56\x59\x20\x52\x55\x5a\x57\x57\x58'\
b'\x52\x58\x4f\x57\x4a\x55\x47\x20\x52\x56\x48\x53\x47\x51\x47'\
b'\x4e\x48\x0b\x48\x5c\x4e\x4a\x50\x49\x53\x46\x53\x5b\x20\x52'\
b'\x4e\x4a\x4e\x4b\x50\x4a\x52\x48\x52\x5b\x53\x5b\x21\x48\x5c'\
b'\x4c\x4b\x4c\x4a\x4d\x48\x4e\x47\x50\x46\x54\x46\x56\x47\x57'\
b'\x48\x58\x4a\x58\x4c\x57\x4e\x55\x51\x4c\x5b\x20\x52\x4c\x4b'\
b'\x4d\x4b\x4d\x4a\x4e\x48\x50\x47\x54\x47\x56\x48\x57\x4a\x57'\
b'\x4c\x56\x4e\x54\x51\x4b\x5b\x20\x52\x4c\x5a\x59\x5a\x59\x5b'\
b'\x20\x52\x4b\x5b\x59\x5b\x2f\x48\x5c\x4d\x46\x58\x46\x51\x4f'\
b'\x20\x52\x4d\x46\x4d\x47\x57\x47\x20\x52\x57\x46\x50\x4f\x20'\
b'\x52\x51\x4e\x53\x4e\x56\x4f\x58\x51\x59\x54\x59\x55\x58\x58'\
b'\x56\x5a\x53\x5b\x50\x5b\x4d\x5a\x4c\x59\x4b\x57\x4c\x57\x20'\
b'\x52\x50\x4f\x53\x4f\x56\x50\x58\x53\x20\x52\x54\x4f\x57\x51'\
b'\x58\x54\x58\x55\x57\x58\x54\x5a\x20\x52\x58\x56\x56\x59\x53'\
b'\x5a\x50\x5a\x4d\x59\x4c\x57\x20\x52\x4f\x5a\x4c\x58\x11\x48'\
b'\x5c\x55\x49\x55\x5b\x56\x5b\x20\x52\x56\x46\x56\x5b\x20\x52'\
b'\x56\x46\x4b\x56\x5a\x56\x20\x52\x55\x49\x4c\x56\x20\x52\x4c'\
b'\x55\x5a\x55\x5a\x56\x34\x48\x5c\x4d\x46\x4c\x4f\x20\x52\x4e'\
b'\x47\x4d\x4e\x20\x52\x4d\x46\x57\x46\x57\x47\x20\x52\x4e\x47'\
b'\x57\x47\x20\x52\x4d\x4e\x50\x4d\x53\x4d\x56\x4e\x58\x50\x59'\
b'\x53\x59\x55\x58\x58\x56\x5a\x53\x5b\x50\x5b\x4d\x5a\x4c\x59'\
b'\x4b\x57\x4c\x57\x20\x52\x4c\x4f\x4d\x4f\x4f\x4e\x53\x4e\x56'\
b'\x4f\x58\x52\x20\x52\x54\x4e\x57\x50\x58\x53\x58\x55\x57\x58'\
b'\x54\x5a\x20\x52\x58\x56\x56\x59\x53\x5a\x50\x5a\x4d\x59\x4c'\
b'\x57\x20\x52\x4f\x5a\x4c\x58\x3d\x48\x5c\x56\x47\x57\x49\x58'\
b'\x49\x57\x47\x54\x46\x52\x46\x4f\x47\x4d\x4a\x4c\x4f\x4c\x54'\
b'\x4d\x58\x4f\x5a\x52\x5b\x53\x5b\x56\x5a\x58\x58\x59\x55\x59'\
b'\x54\x58\x51\x56\x4f\x53\x4e\x52\x4e\x4f\x4f\x4d\x51\x20\x52'\
b'\x57\x48\x54\x47\x52\x47\x4f\x48\x20\x52\x50\x47\x4e\x4a\x4d'\
b'\x4f\x4d\x54\x4e\x58\x51\x5a\x20\x52\x4d\x56\x4f\x59\x52\x5a'\
b'\x53\x5a\x56\x59\x58\x56\x20\x52\x54\x5a\x57\x58\x58\x55\x58'\
b'\x54\x57\x51\x54\x4f\x20\x52\x58\x53\x56\x50\x53\x4f\x52\x4f'\
b'\x4f\x50\x4d\x53\x20\x52\x51\x4f\x4e\x51\x4d\x54\x0b\x48\x5c'\
b'\x4b\x46\x59\x46\x4f\x5b\x20\x52\x4b\x46\x4b\x47\x58\x47\x20'\
b'\x52\x58\x46\x4e\x5b\x4f\x5b\x43\x48\x5c\x50\x46\x4d\x47\x4c'\
b'\x49\x4c\x4b\x4d\x4d\x4e\x4e\x50\x4f\x54\x50\x56\x51\x57\x52'\
b'\x58\x54\x58\x57\x57\x59\x54\x5a\x50\x5a\x4d\x59\x4c\x57\x4c'\
b'\x54\x4d\x52\x4e\x51\x50\x50\x54\x4f\x56\x4e\x57\x4d\x58\x4b'\
b'\x58\x49\x57\x47\x54\x46\x50\x46\x20\x52\x4e\x47\x4d\x49\x4d'\
b'\x4b\x4e\x4d\x50\x4e\x54\x4f\x56\x50\x58\x52\x59\x54\x59\x57'\
b'\x58\x59\x57\x5a\x54\x5b\x50\x5b\x4d\x5a\x4c\x59\x4b\x57\x4b'\
b'\x54\x4c\x52\x4e\x50\x50\x4f\x54\x4e\x56\x4d\x57\x4b\x57\x49'\
b'\x56\x47\x20\x52\x57\x48\x54\x47\x50\x47\x4d\x48\x20\x52\x4c'\
b'\x58\x4f\x5a\x20\x52\x55\x5a\x58\x58\x3d\x48\x5c\x57\x50\x55'\
b'\x52\x52\x53\x51\x53\x4e\x52\x4c\x50\x4b\x4d\x4b\x4c\x4c\x49'\
b'\x4e\x47\x51\x46\x52\x46\x55\x47\x57\x49\x58\x4d\x58\x52\x57'\
b'\x57\x55\x5a\x52\x5b\x50\x5b\x4d\x5a\x4c\x58\x4d\x58\x4e\x5a'\
b'\x20\x52\x57\x4d\x56\x50\x53\x52\x20\x52\x57\x4e\x55\x51\x52'\
b'\x52\x51\x52\x4e\x51\x4c\x4e\x20\x52\x50\x52\x4d\x50\x4c\x4d'\
b'\x4c\x4c\x4d\x49\x50\x47\x20\x52\x4c\x4b\x4e\x48\x51\x47\x52'\
b'\x47\x55\x48\x57\x4b\x20\x52\x53\x47\x56\x49\x57\x4d\x57\x52'\
b'\x56\x57\x54\x5a\x20\x52\x55\x59\x52\x5a\x50\x5a\x4d\x59\x1f'\
b'\x4d\x58\x52\x4d\x51\x4e\x51\x4f\x52\x50\x53\x50\x54\x4f\x54'\
b'\x4e\x53\x4d\x52\x4d\x20\x52\x52\x4e\x52\x4f\x53\x4f\x53\x4e'\
b'\x52\x4e\x20\x52\x52\x58\x51\x59\x51\x5a\x52\x5b\x53\x5b\x54'\
b'\x5a\x54\x59\x53\x58\x52\x58\x20\x52\x52\x59\x52\x5a\x53\x5a'\
b'\x53\x59\x52\x59\x27\x4d\x58\x52\x4d\x51\x4e\x51\x4f\x52\x50'\
b'\x53\x50\x54\x4f\x54\x4e\x53\x4d\x52\x4d\x20\x52\x52\x4e\x52'\
b'\x4f\x53\x4f\x53\x4e\x52\x4e\x20\x52\x54\x5a\x53\x5b\x52\x5b'\
b'\x51\x5a\x51\x59\x52\x58\x53\x58\x54\x59\x54\x5c\x53\x5e\x51'\
b'\x5f\x20\x52\x52\x59\x52\x5a\x53\x5a\x53\x59\x52\x59\x20\x52'\
b'\x53\x5b\x54\x5c\x20\x52\x54\x5a\x53\x5e\x03\x46\x5e\x5a\x49'\
b'\x4a\x52\x5a\x5b\x0f\x46\x5f\x4a\x4d\x5b\x4d\x5b\x4e\x20\x52'\
b'\x4a\x4d\x4a\x4e\x5b\x4e\x20\x52\x4a\x55\x5b\x55\x5b\x56\x20'\
b'\x52\x4a\x55\x4a\x56\x5b\x56\x03\x46\x5e\x4a\x49\x5a\x52\x4a'\
b'\x5b\x39\x49\x5c\x4c\x4b\x4c\x4a\x4d\x48\x4e\x47\x51\x46\x54'\
b'\x46\x57\x47\x58\x48\x59\x4a\x59\x4c\x58\x4e\x57\x4f\x55\x50'\
b'\x52\x51\x20\x52\x4c\x4b\x4d\x4b\x4d\x4a\x4e\x48\x51\x47\x54'\
b'\x47\x57\x48\x58\x4a\x58\x4c\x57\x4e\x55\x4f\x52\x50\x20\x52'\
b'\x4d\x49\x50\x47\x20\x52\x55\x47\x58\x49\x20\x52\x58\x4d\x54'\
b'\x50\x20\x52\x52\x50\x52\x54\x53\x54\x53\x50\x20\x52\x52\x58'\
b'\x51\x59\x51\x5a\x52\x5b\x53\x5b\x54\x5a\x54\x59\x53\x58\x52'\
b'\x58\x20\x52\x52\x59\x52\x5a\x53\x5a\x53\x59\x52\x59\x37\x45'\
b'\x60\x57\x4e\x56\x4c\x54\x4b\x51\x4b\x4f\x4c\x4e\x4d\x4d\x50'\
b'\x4d\x53\x4e\x55\x50\x56\x53\x56\x55\x55\x56\x53\x20\x52\x51'\
b'\x4b\x4f\x4d\x4e\x50\x4e\x53\x4f\x55\x50\x56\x20\x52\x57\x4b'\
b'\x56\x53\x56\x55\x58\x56\x5a\x56\x5c\x54\x5d\x51\x5d\x4f\x5c'\
b'\x4c\x5b\x4a\x59\x48\x57\x47\x54\x46\x51\x46\x4e\x47\x4c\x48'\
b'\x4a\x4a\x49\x4c\x48\x4f\x48\x52\x49\x55\x4a\x57\x4c\x59\x4e'\
b'\x5a\x51\x5b\x54\x5b\x57\x5a\x59\x59\x5a\x58\x20\x52\x58\x4b'\
b'\x57\x53\x57\x55\x58\x56\x13\x48\x5c\x52\x46\x4a\x5b\x20\x52'\
b'\x52\x49\x4b\x5b\x4a\x5b\x20\x52\x52\x49\x59\x5b\x5a\x5b\x20'\
b'\x52\x52\x46\x5a\x5b\x20\x52\x4d\x55\x57\x55\x20\x52\x4c\x56'\
b'\x58\x56\x2b\x48\x5c\x4c\x46\x4c\x5b\x20\x52\x4d\x47\x4d\x5a'\
b'\x20\x52\x4c\x46\x54\x46\x57\x47\x58\x48\x59\x4a\x59\x4d\x58'\
b'\x4f\x57\x50\x54\x51\x20\x52\x4d\x47\x54\x47\x57\x48\x58\x4a'\
b'\x58\x4d\x57\x4f\x54\x50\x20\x52\x4d\x50\x54\x50\x57\x51\x58'\
b'\x52\x59\x54\x59\x57\x58\x59\x57\x5a\x54\x5b\x4c\x5b\x20\x52'\
b'\x4d\x51\x54\x51\x57\x52\x58\x54\x58\x57\x57\x59\x54\x5a\x4d'\
b'\x5a\x25\x48\x5d\x5a\x4b\x59\x49\x57\x47\x55\x46\x51\x46\x4f'\
b'\x47\x4d\x49\x4c\x4b\x4b\x4e\x4b\x53\x4c\x56\x4d\x58\x4f\x5a'\
b'\x51\x5b\x55\x5b\x57\x5a\x59\x58\x5a\x56\x20\x52\x5a\x4b\x59'\
b'\x4b\x58\x49\x57\x48\x55\x47\x51\x47\x4f\x48\x4d\x4b\x4c\x4e'\
b'\x4c\x53\x4d\x56\x4f\x59\x51\x5a\x55\x5a\x57\x59\x58\x58\x59'\
b'\x56\x5a\x56\x1f\x48\x5d\x4c\x46\x4c\x5b\x20\x52\x4d\x47\x4d'\
b'\x5a\x20\x52\x4c\x46\x53\x46\x56\x47\x58\x49\x59\x4b\x5a\x4e'\
b'\x5a\x53\x59\x56\x58\x58\x56\x5a\x53\x5b\x4c\x5b\x20\x52\x4d'\
b'\x47\x53\x47\x56\x48\x57\x49\x58\x4b\x59\x4e\x59\x53\x58\x56'\
b'\x57\x58\x56\x59\x53\x5a\x4d\x5a\x1a\x49\x5c\x4d\x46\x4d\x5b'\
b'\x20\x52\x4e\x47\x4e\x5a\x20\x52\x4d\x46\x59\x46\x20\x52\x4e'\
b'\x47\x59\x47\x59\x46\x20\x52\x4e\x50\x54\x50\x54\x51\x20\x52'\
b'\x4e\x51\x54\x51\x20\x52\x4e\x5a\x59\x5a\x59\x5b\x20\x52\x4d'\
b'\x5b\x59\x5b\x14\x49\x5b\x4d\x46\x4d\x5b\x20\x52\x4e\x47\x4e'\
b'\x5b\x4d\x5b\x20\x52\x4d\x46\x59\x46\x20\x52\x4e\x47\x59\x47'\
b'\x59\x46\x20\x52\x4e\x50\x54\x50\x54\x51\x20\x52\x4e\x51\x54'\
b'\x51\x2b\x48\x5d\x5a\x4b\x59\x49\x57\x47\x55\x46\x51\x46\x4f'\
b'\x47\x4d\x49\x4c\x4b\x4b\x4e\x4b\x53\x4c\x56\x4d\x58\x4f\x5a'\
b'\x51\x5b\x55\x5b\x57\x5a\x59\x58\x5a\x56\x5a\x52\x55\x52\x20'\
b'\x52\x5a\x4b\x59\x4b\x58\x49\x57\x48\x55\x47\x51\x47\x4f\x48'\
b'\x4e\x49\x4d\x4b\x4c\x4e\x4c\x53\x4d\x56\x4e\x58\x4f\x59\x51'\
b'\x5a\x55\x5a\x57\x59\x58\x58\x59\x56\x59\x53\x55\x53\x55\x52'\
b'\x15\x47\x5d\x4b\x46\x4b\x5b\x20\x52\x4b\x46\x4c\x46\x4c\x5b'\
b'\x4b\x5b\x20\x52\x59\x46\x58\x46\x58\x5b\x59\x5b\x20\x52\x59'\
b'\x46\x59\x5b\x20\x52\x4c\x50\x58\x50\x20\x52\x4c\x51\x58\x51'\
b'\x07\x4e\x57\x52\x46\x52\x5b\x53\x5b\x20\x52\x52\x46\x53\x46'\
b'\x53\x5b\x13\x4a\x5b\x56\x46\x56\x56\x55\x59\x53\x5a\x51\x5a'\
b'\x4f\x59\x4e\x56\x4d\x56\x20\x52\x56\x46\x57\x46\x57\x56\x56'\
b'\x59\x55\x5a\x53\x5b\x51\x5b\x4f\x5a\x4e\x59\x4d\x56\x15\x48'\
b'\x5d\x4c\x46\x4c\x5b\x4d\x5b\x20\x52\x4c\x46\x4d\x46\x4d\x5b'\
b'\x20\x52\x5a\x46\x59\x46\x4d\x52\x20\x52\x5a\x46\x4d\x53\x20'\
b'\x52\x50\x4f\x59\x5b\x5a\x5b\x20\x52\x51\x4f\x5a\x5b\x0d\x49'\
b'\x5a\x4d\x46\x4d\x5b\x20\x52\x4d\x46\x4e\x46\x4e\x5a\x20\x52'\
b'\x4e\x5a\x59\x5a\x59\x5b\x20\x52\x4d\x5b\x59\x5b\x19\x46\x5e'\
b'\x4a\x46\x4a\x5b\x20\x52\x4b\x4b\x4b\x5b\x4a\x5b\x20\x52\x4b'\
b'\x4b\x52\x5b\x20\x52\x4a\x46\x52\x58\x20\x52\x5a\x46\x52\x58'\
b'\x20\x52\x59\x4b\x52\x5b\x20\x52\x59\x4b\x59\x5b\x5a\x5b\x20'\
b'\x52\x5a\x46\x5a\x5b\x13\x47\x5d\x4b\x46\x4b\x5b\x20\x52\x4c'\
b'\x49\x4c\x5b\x4b\x5b\x20\x52\x4c\x49\x59\x5b\x20\x52\x4b\x46'\
b'\x58\x58\x20\x52\x58\x46\x58\x58\x20\x52\x58\x46\x59\x46\x59'\
b'\x5b\x27\x47\x5d\x50\x46\x4e\x47\x4c\x49\x4b\x4b\x4a\x4e\x4a'\
b'\x53\x4b\x56\x4c\x58\x4e\x5a\x50\x5b\x54\x5b\x56\x5a\x58\x58'\
b'\x59\x56\x5a\x53\x5a\x4e\x59\x4b\x58\x49\x56\x47\x54\x46\x50'\
b'\x46\x20\x52\x51\x47\x4e\x48\x4c\x4b\x4b\x4e\x4b\x53\x4c\x56'\
b'\x4e\x59\x51\x5a\x53\x5a\x56\x59\x58\x56\x59\x53\x59\x4e\x58'\
b'\x4b\x56\x48\x53\x47\x51\x47\x1a\x48\x5c\x4c\x46\x4c\x5b\x20'\
b'\x52\x4d\x47\x4d\x5b\x4c\x5b\x20\x52\x4c\x46\x55\x46\x57\x47'\
b'\x58\x48\x59\x4a\x59\x4d\x58\x4f\x57\x50\x55\x51\x4d\x51\x20'\
b'\x52\x4d\x47\x55\x47\x57\x48\x58\x4a\x58\x4d\x57\x4f\x55\x50'\
b'\x4d\x50\x2f\x47\x5d\x50\x46\x4e\x47\x4c\x49\x4b\x4b\x4a\x4e'\
b'\x4a\x53\x4b\x56\x4c\x58\x4e\x5a\x50\x5b\x54\x5b\x56\x5a\x58'\
b'\x58\x59\x56\x5a\x53\x5a\x4e\x59\x4b\x58\x49\x56\x47\x54\x46'\
b'\x50\x46\x20\x52\x51\x47\x4e\x48\x4c\x4b\x4b\x4e\x4b\x53\x4c'\
b'\x56\x4e\x59\x51\x5a\x53\x5a\x56\x59\x58\x56\x59\x53\x59\x4e'\
b'\x58\x4b\x56\x48\x53\x47\x51\x47\x20\x52\x53\x58\x58\x5d\x59'\
b'\x5d\x20\x52\x53\x58\x54\x58\x59\x5d\x21\x48\x5c\x4c\x46\x4c'\
b'\x5b\x20\x52\x4d\x47\x4d\x5b\x4c\x5b\x20\x52\x4c\x46\x54\x46'\
b'\x57\x47\x58\x48\x59\x4a\x59\x4d\x58\x4f\x57\x50\x54\x51\x4d'\
b'\x51\x20\x52\x4d\x47\x54\x47\x57\x48\x58\x4a\x58\x4d\x57\x4f'\
b'\x54\x50\x4d\x50\x20\x52\x52\x51\x58\x5b\x59\x5b\x20\x52\x53'\
b'\x51\x59\x5b\x2a\x48\x5c\x59\x49\x57\x47\x54\x46\x50\x46\x4d'\
b'\x47\x4b\x49\x4b\x4b\x4c\x4d\x4d\x4e\x4f\x4f\x54\x51\x56\x52'\
b'\x57\x53\x58\x55\x58\x58\x57\x59\x54\x5a\x50\x5a\x4e\x59\x4d'\
b'\x58\x4b\x58\x20\x52\x59\x49\x57\x49\x56\x48\x54\x47\x50\x47'\
b'\x4d\x48\x4c\x49\x4c\x4b\x4d\x4d\x4f\x4e\x54\x50\x56\x51\x58'\
b'\x53\x59\x55\x59\x58\x57\x5a\x54\x5b\x50\x5b\x4d\x5a\x4b\x58'\
b'\x0e\x4a\x5b\x52\x47\x52\x5b\x20\x52\x53\x47\x53\x5b\x52\x5b'\
b'\x20\x52\x4c\x46\x59\x46\x59\x47\x20\x52\x4c\x46\x4c\x47\x59'\
b'\x47\x17\x47\x5d\x4b\x46\x4b\x55\x4c\x58\x4e\x5a\x51\x5b\x53'\
b'\x5b\x56\x5a\x58\x58\x59\x55\x59\x46\x20\x52\x4b\x46\x4c\x46'\
b'\x4c\x55\x4d\x58\x4e\x59\x51\x5a\x53\x5a\x56\x59\x57\x58\x58'\
b'\x55\x58\x46\x59\x46\x0d\x48\x5c\x4a\x46\x52\x5b\x20\x52\x4a'\
b'\x46\x4b\x46\x52\x58\x20\x52\x5a\x46\x59\x46\x52\x58\x20\x52'\
b'\x5a\x46\x52\x5b\x19\x45\x5f\x47\x46\x4d\x5b\x20\x52\x47\x46'\
b'\x48\x46\x4d\x58\x20\x52\x52\x46\x4d\x58\x20\x52\x52\x49\x4d'\
b'\x5b\x20\x52\x52\x49\x57\x5b\x20\x52\x52\x46\x57\x58\x20\x52'\
b'\x5d\x46\x5c\x46\x57\x58\x20\x52\x5d\x46\x57\x5b\x0f\x48\x5c'\
b'\x4b\x46\x58\x5b\x59\x5b\x20\x52\x4b\x46\x4c\x46\x59\x5b\x20'\
b'\x52\x59\x46\x58\x46\x4b\x5b\x20\x52\x59\x46\x4c\x5b\x4b\x5b'\
b'\x10\x49\x5c\x4b\x46\x52\x50\x52\x5b\x53\x5b\x20\x52\x4b\x46'\
b'\x4c\x46\x53\x50\x20\x52\x5a\x46\x59\x46\x52\x50\x20\x52\x5a'\
b'\x46\x53\x50\x53\x5b\x13\x48\x5c\x58\x46\x4b\x5b\x20\x52\x59'\
b'\x46\x4c\x5b\x20\x52\x4b\x46\x59\x46\x20\x52\x4b\x46\x4b\x47'\
b'\x58\x47\x20\x52\x4c\x5a\x59\x5a\x59\x5b\x20\x52\x4b\x5b\x59'\
b'\x5b\x0b\x4b\x59\x4f\x42\x4f\x62\x20\x52\x50\x42\x50\x62\x20'\
b'\x52\x4f\x42\x56\x42\x20\x52\x4f\x62\x56\x62\x02\x4b\x59\x4b'\
b'\x46\x59\x5e\x0b\x4b\x59\x54\x42\x54\x62\x20\x52\x55\x42\x55'\
b'\x62\x20\x52\x4e\x42\x55\x42\x20\x52\x4e\x62\x55\x62\x07\x47'\
b'\x5d\x4a\x54\x52\x4f\x5a\x54\x20\x52\x4a\x54\x52\x50\x5a\x54'\
b'\x02\x48\x5c\x48\x62\x5c\x62\x06\x4c\x58\x50\x46\x55\x4c\x20'\
b'\x52\x50\x46\x4f\x47\x55\x4c\x23\x48\x5c\x57\x4d\x57\x5b\x58'\
b'\x5b\x20\x52\x57\x4d\x58\x4d\x58\x5b\x20\x52\x57\x50\x55\x4e'\
b'\x53\x4d\x50\x4d\x4e\x4e\x4c\x50\x4b\x53\x4b\x55\x4c\x58\x4e'\
b'\x5a\x50\x5b\x53\x5b\x55\x5a\x57\x58\x20\x52\x57\x50\x53\x4e'\
b'\x50\x4e\x4e\x4f\x4d\x50\x4c\x53\x4c\x55\x4d\x58\x4e\x59\x50'\
b'\x5a\x53\x5a\x57\x58\x23\x48\x5c\x4c\x46\x4c\x5b\x4d\x5b\x20'\
b'\x52\x4c\x46\x4d\x46\x4d\x5b\x20\x52\x4d\x50\x4f\x4e\x51\x4d'\
b'\x54\x4d\x56\x4e\x58\x50\x59\x53\x59\x55\x58\x58\x56\x5a\x54'\
b'\x5b\x51\x5b\x4f\x5a\x4d\x58\x20\x52\x4d\x50\x51\x4e\x54\x4e'\
b'\x56\x4f\x57\x50\x58\x53\x58\x55\x57\x58\x56\x59\x54\x5a\x51'\
b'\x5a\x4d\x58\x1f\x49\x5b\x58\x50\x56\x4e\x54\x4d\x51\x4d\x4f'\
b'\x4e\x4d\x50\x4c\x53\x4c\x55\x4d\x58\x4f\x5a\x51\x5b\x54\x5b'\
b'\x56\x5a\x58\x58\x20\x52\x58\x50\x57\x51\x56\x4f\x54\x4e\x51'\
b'\x4e\x4f\x4f\x4e\x50\x4d\x53\x4d\x55\x4e\x58\x4f\x59\x51\x5a'\
b'\x54\x5a\x56\x59\x57\x57\x58\x58\x23\x48\x5c\x57\x46\x57\x5b'\
b'\x58\x5b\x20\x52\x57\x46\x58\x46\x58\x5b\x20\x52\x57\x50\x55'\
b'\x4e\x53\x4d\x50\x4d\x4e\x4e\x4c\x50\x4b\x53\x4b\x55\x4c\x58'\
b'\x4e\x5a\x50\x5b\x53\x5b\x55\x5a\x57\x58\x20\x52\x57\x50\x53'\
b'\x4e\x50\x4e\x4e\x4f\x4d\x50\x4c\x53\x4c\x55\x4d\x58\x4e\x59'\
b'\x50\x5a\x53\x5a\x57\x58\x23\x49\x5b\x4d\x54\x58\x54\x58\x51'\
b'\x57\x4f\x56\x4e\x54\x4d\x51\x4d\x4f\x4e\x4d\x50\x4c\x53\x4c'\
b'\x55\x4d\x58\x4f\x5a\x51\x5b\x54\x5b\x56\x5a\x58\x58\x20\x52'\
b'\x4d\x53\x57\x53\x57\x51\x56\x4f\x54\x4e\x51\x4e\x4f\x4f\x4e'\
b'\x50\x4d\x53\x4d\x55\x4e\x58\x4f\x59\x51\x5a\x54\x5a\x56\x59'\
b'\x57\x57\x58\x58\x17\x4c\x5a\x57\x46\x55\x46\x53\x47\x52\x4a'\
b'\x52\x5b\x53\x5b\x20\x52\x57\x46\x57\x47\x55\x47\x53\x48\x20'\
b'\x52\x54\x47\x53\x4a\x53\x5b\x20\x52\x4f\x4d\x56\x4d\x56\x4e'\
b'\x20\x52\x4f\x4d\x4f\x4e\x56\x4e\x2f\x48\x5c\x58\x4d\x57\x4d'\
b'\x57\x5c\x56\x5f\x55\x60\x53\x61\x51\x61\x4f\x60\x4e\x5f\x4c'\
b'\x5f\x20\x52\x58\x4d\x58\x5c\x57\x5f\x55\x61\x53\x62\x50\x62'\
b'\x4e\x61\x4c\x5f\x20\x52\x57\x50\x55\x4e\x53\x4d\x50\x4d\x4e'\
b'\x4e\x4c\x50\x4b\x53\x4b\x55\x4c\x58\x4e\x5a\x50\x5b\x53\x5b'\
b'\x55\x5a\x57\x58\x20\x52\x57\x50\x53\x4e\x50\x4e\x4e\x4f\x4d'\
b'\x50\x4c\x53\x4c\x55\x4d\x58\x4e\x59\x50\x5a\x53\x5a\x57\x58'\
b'\x18\x48\x5c\x4c\x46\x4c\x5b\x4d\x5b\x20\x52\x4c\x46\x4d\x46'\
b'\x4d\x5b\x20\x52\x4d\x51\x50\x4e\x52\x4d\x55\x4d\x57\x4e\x58'\
b'\x51\x58\x5b\x20\x52\x4d\x51\x50\x4f\x52\x4e\x54\x4e\x56\x4f'\
b'\x57\x51\x57\x5b\x58\x5b\x17\x4e\x57\x52\x46\x51\x47\x51\x48'\
b'\x52\x49\x53\x49\x54\x48\x54\x47\x53\x46\x52\x46\x20\x52\x52'\
b'\x47\x52\x48\x53\x48\x53\x47\x52\x47\x20\x52\x52\x4d\x52\x5b'\
b'\x53\x5b\x20\x52\x52\x4d\x53\x4d\x53\x5b\x17\x4e\x57\x52\x46'\
b'\x51\x47\x51\x48\x52\x49\x53\x49\x54\x48\x54\x47\x53\x46\x52'\
b'\x46\x20\x52\x52\x47\x52\x48\x53\x48\x53\x47\x52\x47\x20\x52'\
b'\x52\x4d\x52\x62\x53\x62\x20\x52\x52\x4d\x53\x4d\x53\x62\x15'\
b'\x48\x5b\x4c\x46\x4c\x5b\x4d\x5b\x20\x52\x4c\x46\x4d\x46\x4d'\
b'\x5b\x20\x52\x58\x4d\x57\x4d\x4d\x57\x20\x52\x58\x4d\x4d\x58'\
b'\x20\x52\x50\x54\x56\x5b\x58\x5b\x20\x52\x51\x53\x58\x5b\x07'\
b'\x4e\x57\x52\x46\x52\x5b\x53\x5b\x20\x52\x52\x46\x53\x46\x53'\
b'\x5b\x29\x43\x62\x47\x4d\x47\x5b\x48\x5b\x20\x52\x47\x4d\x48'\
b'\x4d\x48\x5b\x20\x52\x48\x51\x4b\x4e\x4d\x4d\x50\x4d\x52\x4e'\
b'\x53\x51\x53\x5b\x20\x52\x48\x51\x4b\x4f\x4d\x4e\x4f\x4e\x51'\
b'\x4f\x52\x51\x52\x5b\x53\x5b\x20\x52\x53\x51\x56\x4e\x58\x4d'\
b'\x5b\x4d\x5d\x4e\x5e\x51\x5e\x5b\x20\x52\x53\x51\x56\x4f\x58'\
b'\x4e\x5a\x4e\x5c\x4f\x5d\x51\x5d\x5b\x5e\x5b\x18\x48\x5c\x4c'\
b'\x4d\x4c\x5b\x4d\x5b\x20\x52\x4c\x4d\x4d\x4d\x4d\x5b\x20\x52'\
b'\x4d\x51\x50\x4e\x52\x4d\x55\x4d\x57\x4e\x58\x51\x58\x5b\x20'\
b'\x52\x4d\x51\x50\x4f\x52\x4e\x54\x4e\x56\x4f\x57\x51\x57\x5b'\
b'\x58\x5b\x23\x49\x5c\x51\x4d\x4f\x4e\x4d\x50\x4c\x53\x4c\x55'\
b'\x4d\x58\x4f\x5a\x51\x5b\x54\x5b\x56\x5a\x58\x58\x59\x55\x59'\
b'\x53\x58\x50\x56\x4e\x54\x4d\x51\x4d\x20\x52\x51\x4e\x4f\x4f'\
b'\x4e\x50\x4d\x53\x4d\x55\x4e\x58\x4f\x59\x51\x5a\x54\x5a\x56'\
b'\x59\x57\x58\x58\x55\x58\x53\x57\x50\x56\x4f\x54\x4e\x51\x4e'\
b'\x23\x48\x5c\x4c\x4d\x4c\x62\x4d\x62\x20\x52\x4c\x4d\x4d\x4d'\
b'\x4d\x62\x20\x52\x4d\x50\x4f\x4e\x51\x4d\x54\x4d\x56\x4e\x58'\
b'\x50\x59\x53\x59\x55\x58\x58\x56\x5a\x54\x5b\x51\x5b\x4f\x5a'\
b'\x4d\x58\x20\x52\x4d\x50\x51\x4e\x54\x4e\x56\x4f\x57\x50\x58'\
b'\x53\x58\x55\x57\x58\x56\x59\x54\x5a\x51\x5a\x4d\x58\x23\x48'\
b'\x5c\x57\x4d\x57\x62\x58\x62\x20\x52\x57\x4d\x58\x4d\x58\x62'\
b'\x20\x52\x57\x50\x55\x4e\x53\x4d\x50\x4d\x4e\x4e\x4c\x50\x4b'\
b'\x53\x4b\x55\x4c\x58\x4e\x5a\x50\x5b\x53\x5b\x55\x5a\x57\x58'\
b'\x20\x52\x57\x50\x53\x4e\x50\x4e\x4e\x4f\x4d\x50\x4c\x53\x4c'\
b'\x55\x4d\x58\x4e\x59\x50\x5a\x53\x5a\x57\x58\x14\x4b\x59\x4f'\
b'\x4d\x4f\x5b\x50\x5b\x20\x52\x4f\x4d\x50\x4d\x50\x5b\x20\x52'\
b'\x50\x53\x51\x50\x53\x4e\x55\x4d\x58\x4d\x20\x52\x50\x53\x51'\
b'\x51\x53\x4f\x55\x4e\x58\x4e\x58\x4d\x31\x4a\x5b\x58\x50\x57'\
b'\x4e\x54\x4d\x51\x4d\x4e\x4e\x4d\x50\x4e\x52\x50\x53\x55\x55'\
b'\x57\x56\x20\x52\x56\x55\x57\x57\x57\x58\x56\x5a\x20\x52\x57'\
b'\x59\x54\x5a\x51\x5a\x4e\x59\x20\x52\x4f\x5a\x4e\x58\x4d\x58'\
b'\x20\x52\x58\x50\x57\x50\x56\x4e\x20\x52\x57\x4f\x54\x4e\x51'\
b'\x4e\x4e\x4f\x20\x52\x4f\x4e\x4e\x50\x4f\x52\x20\x52\x4e\x51'\
b'\x50\x52\x55\x54\x57\x55\x58\x57\x58\x58\x57\x5a\x54\x5b\x51'\
b'\x5b\x4e\x5a\x4d\x58\x0f\x4d\x58\x52\x46\x52\x5b\x53\x5b\x20'\
b'\x52\x52\x46\x53\x46\x53\x5b\x20\x52\x4f\x4d\x56\x4d\x56\x4e'\
b'\x20\x52\x4f\x4d\x4f\x4e\x56\x4e\x18\x48\x5c\x4c\x4d\x4c\x57'\
b'\x4d\x5a\x4f\x5b\x52\x5b\x54\x5a\x57\x57\x20\x52\x4c\x4d\x4d'\
b'\x4d\x4d\x57\x4e\x59\x50\x5a\x52\x5a\x54\x59\x57\x57\x20\x52'\
b'\x57\x4d\x57\x5b\x58\x5b\x20\x52\x57\x4d\x58\x4d\x58\x5b\x0d'\
b'\x4a\x5a\x4c\x4d\x52\x5b\x20\x52\x4c\x4d\x4d\x4d\x52\x59\x20'\
b'\x52\x58\x4d\x57\x4d\x52\x59\x20\x52\x58\x4d\x52\x5b\x19\x46'\
b'\x5e\x49\x4d\x4e\x5b\x20\x52\x49\x4d\x4a\x4d\x4e\x58\x20\x52'\
b'\x52\x4d\x4e\x58\x20\x52\x52\x50\x4e\x5b\x20\x52\x52\x50\x56'\
b'\x5b\x20\x52\x52\x4d\x56\x58\x20\x52\x5b\x4d\x5a\x4d\x56\x58'\
b'\x20\x52\x5b\x4d\x56\x5b\x0f\x49\x5b\x4c\x4d\x57\x5b\x58\x5b'\
b'\x20\x52\x4c\x4d\x4d\x4d\x58\x5b\x20\x52\x58\x4d\x57\x4d\x4c'\
b'\x5b\x20\x52\x58\x4d\x4d\x5b\x4c\x5b\x10\x4a\x5a\x4c\x4d\x52'\
b'\x5b\x20\x52\x4c\x4d\x4d\x4d\x52\x59\x20\x52\x58\x4d\x57\x4d'\
b'\x52\x59\x4e\x62\x20\x52\x58\x4d\x52\x5b\x4f\x62\x4e\x62\x13'\
b'\x49\x5b\x56\x4e\x4c\x5b\x20\x52\x58\x4d\x4e\x5a\x20\x52\x4c'\
b'\x4d\x58\x4d\x20\x52\x4c\x4d\x4c\x4e\x56\x4e\x20\x52\x4e\x5a'\
b'\x58\x5a\x58\x5b\x20\x52\x4c\x5b\x58\x5b\x03\x4b\x59\x55\x42'\
b'\x4e\x52\x55\x62\x02\x4e\x56\x52\x42\x52\x62\x03\x4b\x59\x4f'\
b'\x42\x56\x52\x4f\x62\x17\x46\x5e\x49\x55\x49\x53\x4a\x50\x4c'\
b'\x4f\x4e\x4f\x50\x50\x54\x53\x56\x54\x58\x54\x5a\x53\x5b\x51'\
b'\x20\x52\x49\x53\x4a\x51\x4c\x50\x4e\x50\x50\x51\x54\x54\x56'\
b'\x55\x58\x55\x5a\x54\x5b\x51\x5b\x4f\x22\x4a\x5a\x4a\x46\x4a'\
b'\x5b\x4b\x5b\x4b\x46\x4c\x46\x4c\x5b\x4d\x5b\x4d\x46\x4e\x46'\
b'\x4e\x5b\x4f\x5b\x4f\x46\x50\x46\x50\x5b\x51\x5b\x51\x46\x52'\
b'\x46\x52\x5b\x53\x5b\x53\x46\x54\x46\x54\x5b\x55\x5b\x55\x46'\
b'\x56\x46\x56\x5b\x57\x5b\x57\x46\x58\x46\x58\x5b\x59\x5b\x59'\
b'\x46\x5a\x46\x5a\x5b'
_index =\
b'\x00\x00\x03\x00\x34\x00\x61\x00\x7a\x00\xe1\x00\x22\x01\x85'\
b'\x01\x9c\x01\xc5\x01\xee\x01\x3d\x02\x5e\x02\x8f\x02\x96\x02'\
b'\xb7\x02\xc8\x02\x1d\x03\x36\x03\x7b\x03\xdc\x03\x01\x04\x6c'\
b'\x04\xe9\x04\x02\x05\x8b\x05\x08\x06\x49\x06\x9a\x06\xa3\x06'\
b'\xc4\x06\xcd\x06\x42\x07\xb3\x07\xdc\x07\x35\x08\x82\x08\xc3'\
b'\x08\xfa\x08\x25\x09\x7e\x09\xab\x09\xbc\x09\xe5\x09\x12\x0a'\
b'\x2f\x0a\x64\x0a\x8d\x0a\xde\x0a\x15\x0b\x76\x0b\xbb\x0b\x12'\
b'\x0c\x31\x0c\x62\x0c\x7f\x0c\xb4\x0c\xd5\x0c\xf8\x0c\x21\x0d'\
b'\x3a\x0d\x41\x0d\x5a\x0d\x6b\x0d\x72\x0d\x81\x0d\xca\x0d\x13'\
b'\x0e\x54\x0e\x9d\x0e\xe6\x0e\x17\x0f\x78\x0f\xab\x0f\xdc\x0f'\
b'\x0d\x10\x3a\x10\x4b\x10\xa0\x10\xd3\x10\x1c\x11\x65\x11\xae'\
b'\x11\xd9\x11\x3e\x12\x5f\x12\x92\x12\xaf\x12\xe4\x12\x05\x13'\
b'\x28\x13\x51\x13\x5a\x13\x61\x13\x6a\x13\x9b\x13'
INDEX = memoryview(_index)
FONT = memoryview(_font)

View File

@@ -0,0 +1,104 @@
WIDTH = 16
HEIGHT = 32
FIRST = 0x20
LAST = 0x7f
_FONT = \
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x01\x80\x01\x80\x0f\xf0\x0f\xf0\x39\x9c\x39\x9c\x71\x8e\x71\x8e\x71\x80\x71\x80\x39\x80\x39\x80\x0f\xf0\x0f\xf0\x01\x9c\x01\x9c\x01\x8e\x01\x8e\x71\x8e\x71\x8e\x39\x9c\x39\x9c\x0f\xf0\x0f\xf0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x1c\x1e\x1c\x1e\x38\x1e\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x3c\x0e\x3c\x1c\x3c\x1c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x07\xc0\x1c\x70\x1c\x70\x38\x38\x38\x38\x1c\x70\x1c\x70\x07\xc0\x07\xc0\x0f\xce\x0f\xce\x38\xfc\x38\xfc\x70\x78\x70\x78\x70\x78\x70\x78\x38\xfc\x38\xfc\x0f\xce\x0f\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x3f\xfe\x3f\xfe\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x3c\x38\x3c\x38\x7c\x38\x7c\x38\xdc\x38\xdc\x39\x9c\x39\x9c\x3b\x1c\x3b\x1c\x3e\x1c\x3e\x1c\x3c\x1c\x3c\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x03\xc0\x03\xc0\x0f\xc0\x0f\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x01\xf0\x01\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x03\xf0\x03\xf0\x07\x70\x07\x70\x0e\x70\x0e\x70\x1c\x70\x1c\x70\x38\x70\x38\x70\x3f\xfc\x3f\xfc\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x00\x1c\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf8\x3f\xf8\x00\x38\x00\x38\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x71\xfe\x71\xfe\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x71\xfc\x71\xfc\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x3f\xfc\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x3e\x38\x3e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x70\x1c\x70\x1c\xe0\x1c\xe0\x1d\xc0\x1d\xc0\x1f\x80\x1f\x80\x1f\x80\x1f\x80\x1d\xc0\x1d\xc0\x1c\xe0\x1c\xe0\x1c\x70\x1c\x70\x1c\x38\x1c\x38\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x7c\x3e\x7c\x3e\x7e\x7e\x7e\x7e\x77\xee\x77\xee\x73\xce\x73\xce\x71\x8e\x71\x8e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x3c\x0e\x3c\x0e\x3e\x0e\x3e\x0e\x3f\x0e\x3f\x0e\x3b\x8e\x3b\x8e\x39\xce\x39\xce\x38\xee\x38\xee\x38\x7e\x38\x7e\x38\x3e\x38\x3e\x38\x1e\x38\x1e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\xee\x38\xee\x1c\x7c\x1c\x7c\x07\xf8\x07\xf8\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\xe0\x38\xe0\x38\x70\x38\x70\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xf0\x0f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x71\x8e\x71\x8e\x73\xce\x73\xce\x77\xee\x77\xee\x3e\x7c\x3e\x7c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x3f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x0f\xf0\x0f\xf0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3b\xf8\x3b\xf8\x3c\x0e\x3c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\xe0\x00\xe0\x0f\x80\x0f\x80\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x0e\x38\x0e\x70\x0e\x70\x0e\xe0\x0e\xe0\x0f\xc0\x0f\xc0\x0e\xe0\x0e\xe0\x0e\x70\x0e\x70\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x78\x3e\x78\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xe0\x3f\xe0\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x39\xce\x39\xce\x3b\xee\x3b\xee\x1f\x7c\x1f\x7c\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x1e\x00\x1e\x00\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xf8\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x78\x00\x78\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x03\x80\x03\x80\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x70\x07\x70\x07\x70\x07\x70\x07\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
FONT = memoryview(_FONT)

View File

@@ -0,0 +1,104 @@
"""converted from vga_8x16.bin """
WIDTH = 8
HEIGHT = 16
FIRST = 0x20
LAST = 0x7f
_FONT =\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x18\x3c\x3c\x3c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\
b'\x00\x66\x66\x66\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x6c\x6c\xfe\x6c\x6c\x6c\xfe\x6c\x6c\x00\x00\x00\x00'\
b'\x18\x18\x7c\xc6\xc2\xc0\x7c\x06\x06\x86\xc6\x7c\x18\x18\x00\x00'\
b'\x00\x00\x00\x00\xc2\xc6\x0c\x18\x30\x60\xc6\x86\x00\x00\x00\x00'\
b'\x00\x00\x38\x6c\x6c\x38\x76\xdc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\
b'\x00\x30\x30\x30\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x0c\x18\x30\x30\x30\x30\x30\x30\x18\x0c\x00\x00\x00\x00'\
b'\x00\x00\x30\x18\x0c\x0c\x0c\x0c\x0c\x0c\x18\x30\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x66\x3c\xff\x3c\x66\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x18\x18\x7e\x18\x18\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x18\x30\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x02\x06\x0c\x18\x30\x60\xc0\x80\x00\x00\x00\x00'\
b'\x00\x00\x38\x6c\xc6\xc6\xd6\xd6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\
b'\x00\x00\x18\x38\x78\x18\x18\x18\x18\x18\x18\x7e\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\x06\x0c\x18\x30\x60\xc0\xc6\xfe\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\x06\x06\x3c\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x0c\x1c\x3c\x6c\xcc\xfe\x0c\x0c\x0c\x1e\x00\x00\x00\x00'\
b'\x00\x00\xfe\xc0\xc0\xc0\xfc\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x38\x60\xc0\xc0\xfc\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\xfe\xc6\x06\x06\x0c\x18\x30\x30\x30\x30\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\xc6\x7c\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\xc6\x7e\x06\x06\x06\x0c\x78\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x30\x00\x00\x00\x00'\
b'\x00\x00\x00\x06\x0c\x18\x30\x60\x30\x18\x0c\x06\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x7e\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x60\x30\x18\x0c\x06\x0c\x18\x30\x60\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\x0c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\
b'\x00\x00\x00\x7c\xc6\xc6\xde\xde\xde\xdc\xc0\x7c\x00\x00\x00\x00'\
b'\x00\x00\x10\x38\x6c\xc6\xc6\xfe\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\
b'\x00\x00\xfc\x66\x66\x66\x7c\x66\x66\x66\x66\xfc\x00\x00\x00\x00'\
b'\x00\x00\x3c\x66\xc2\xc0\xc0\xc0\xc0\xc2\x66\x3c\x00\x00\x00\x00'\
b'\x00\x00\xf8\x6c\x66\x66\x66\x66\x66\x66\x6c\xf8\x00\x00\x00\x00'\
b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x62\x66\xfe\x00\x00\x00\x00'\
b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x60\x60\xf0\x00\x00\x00\x00'\
b'\x00\x00\x3c\x66\xc2\xc0\xc0\xde\xc6\xc6\x66\x3a\x00\x00\x00\x00'\
b'\x00\x00\xc6\xc6\xc6\xc6\xfe\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\
b'\x00\x00\x3c\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\
b'\x00\x00\x1e\x0c\x0c\x0c\x0c\x0c\xcc\xcc\xcc\x78\x00\x00\x00\x00'\
b'\x00\x00\xe6\x66\x66\x6c\x78\x78\x6c\x66\x66\xe6\x00\x00\x00\x00'\
b'\x00\x00\xf0\x60\x60\x60\x60\x60\x60\x62\x66\xfe\x00\x00\x00\x00'\
b'\x00\x00\xc6\xee\xfe\xfe\xd6\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\
b'\x00\x00\xc6\xe6\xf6\xfe\xde\xce\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\xfc\x66\x66\x66\x7c\x60\x60\x60\x60\xf0\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xd6\xde\x7c\x0c\x0e\x00\x00'\
b'\x00\x00\xfc\x66\x66\x66\x7c\x6c\x66\x66\x66\xe6\x00\x00\x00\x00'\
b'\x00\x00\x7c\xc6\xc6\x60\x38\x0c\x06\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x7e\x7e\x5a\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\
b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x6c\x38\x10\x00\x00\x00\x00'\
b'\x00\x00\xc6\xc6\xc6\xc6\xd6\xd6\xd6\xfe\xee\x6c\x00\x00\x00\x00'\
b'\x00\x00\xc6\xc6\x6c\x7c\x38\x38\x7c\x6c\xc6\xc6\x00\x00\x00\x00'\
b'\x00\x00\x66\x66\x66\x66\x3c\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\
b'\x00\x00\xfe\xc6\x86\x0c\x18\x30\x60\xc2\xc6\xfe\x00\x00\x00\x00'\
b'\x00\x00\x3c\x30\x30\x30\x30\x30\x30\x30\x30\x3c\x00\x00\x00\x00'\
b'\x00\x00\x00\x80\xc0\xe0\x70\x38\x1c\x0e\x06\x02\x00\x00\x00\x00'\
b'\x00\x00\x3c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x3c\x00\x00\x00\x00'\
b'\x10\x38\x6c\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00'\
b'\x00\x30\x18\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\
b'\x00\x00\xe0\x60\x60\x78\x6c\x66\x66\x66\x66\x7c\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x7c\xc6\xc0\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x1c\x0c\x0c\x3c\x6c\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x1c\x36\x32\x30\x78\x30\x30\x30\x30\x78\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\xcc\x78\x00'\
b'\x00\x00\xe0\x60\x60\x6c\x76\x66\x66\x66\x66\xe6\x00\x00\x00\x00'\
b'\x00\x00\x18\x18\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\
b'\x00\x00\x06\x06\x00\x0e\x06\x06\x06\x06\x06\x06\x66\x66\x3c\x00'\
b'\x00\x00\xe0\x60\x60\x66\x6c\x78\x78\x6c\x66\xe6\x00\x00\x00\x00'\
b'\x00\x00\x38\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xec\xfe\xd6\xd6\xd6\xd6\xc6\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x66\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x7c\x60\x60\xf0\x00'\
b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\x0c\x1e\x00'\
b'\x00\x00\x00\x00\x00\xdc\x76\x66\x60\x60\x60\xf0\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x7c\xc6\x60\x38\x0c\xc6\x7c\x00\x00\x00\x00'\
b'\x00\x00\x10\x30\x30\xfc\x30\x30\x30\x30\x36\x1c\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xc6\xc6\xd6\xd6\xd6\xfe\x6c\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xc6\x6c\x38\x38\x38\x6c\xc6\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\x7e\x06\x0c\xf8\x00'\
b'\x00\x00\x00\x00\x00\xfe\xcc\x18\x30\x60\xc6\xfe\x00\x00\x00\x00'\
b'\x00\x00\x0e\x18\x18\x18\x70\x18\x18\x18\x18\x0e\x00\x00\x00\x00'\
b'\x00\x00\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00'\
b'\x00\x00\x70\x18\x18\x18\x0e\x18\x18\x18\x18\x70\x00\x00\x00\x00'\
b'\x00\x76\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x10\x38\x6c\xc6\xc6\xc6\xfe\x00\x00\x00\x00\x00'\
FONT = memoryview(_FONT)

View File

@@ -1,49 +1,60 @@
#!/bin/bash
# -*- coding: utf-8 -*-
CN_TEXT='天气北京市区邹城怀柔呼和浩特月日星期一二三四五六七八九十腊冬晴多云转雷雨雪雾霾风南东西级末优良中差污恶能见度配置设备网络连接热点自动进入页面0123456789 abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ!%*+,-./()[]\"<>=?℃'
# switch to local path
cd "$(dirname "$0")" || exit 1
TIME_TEXT='0123456789: .-'
CN_TEXT='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~'
CN_TEXT="${CN_TEXT} '℃,。()"
CN_TEXT="${CN_TEXT}0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
SRC_DIR=./assets
DST_DIR=../src/rom/fonts
README=$DST_DIR/README.md
README="$DST_DIR/README.md"
# 中文黑体源字体
CN_OTF_FONT=$SRC_DIR/STHeiti.ttc
CN_OTF_FONT="$SRC_DIR/fonts/STHeiti.ttc"
# 英文时间源字体
TIME_OTF_FONT=$SRC_DIR/BloodWaxItalic.otf
TIME_OTF_FONT="$SRC_DIR/fonts/BloodWaxItalic.otf"
echo "# 字体文件说明" > $README
echo "" >>$README
# 追加中文常用汉字列表
CN_TEXT="${CN_TEXT}$(< $SRC_DIR/cn-words.txt)"
echo "1. en0.rfont/en1.rfont 英文字体" >> $README
echo "> 顺序排列,相等大小、可快速定位" >> $README
echo "" >>$README
python3 pyfont_to_bin.py $SRC_DIR/vga1_8x16.py $DST_DIR/en0.rfont
python3 pyfont_to_bin.py $SRC_DIR/vga1_16x32.py $DST_DIR/en1.rfont
echo "# 字体文件说明" > "$README"
echo "" >>"$README"
echo "2. en.hfont 矢量英文字体" >> $README
echo "> 顺序排列,带索引表,只画线无背景色,可自由缩放,显示速度快" >> $README
echo "" >>$README
python3 pyfont_to_bin.py $SRC_DIR/romand.py $DST_DIR/en.hfont
echo "1. en0.rfont/en1.rfont 英文字体" >> "$README"
echo "> 顺序排列,相等大小、可快速定位" >> "$README"
echo "" >>"$README"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/vga1_8x16.py" "$DST_DIR/en0.rfont"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/vga1_16x32.py" "$DST_DIR/en1.rfont"
echo "3. cn.bfont 文字体" >> $README
echo "> 有字符MAP表当前顺序查找、需实现二叉树查找" >> $README
echo "" >>$README
python3 font2bitmap.py -s "$CN_TEXT" $CN_OTF_FONT 22 > $SRC_DIR/cn.py
python3 pyfont_to_bin.py $SRC_DIR/cn.py $DST_DIR/cn.bfont
echo "2. en.hfont 矢量英文字体" >> "$README"
echo "> 顺序排列,带索引表,只画线无背景色,可自由缩放,显示速度快" >> "$README"
echo "" >>"$README"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/romand.py" "$DST_DIR/en.hfont"
echo "4. time.bfont 时间字体" >> $README
echo "> 有字符MAP表(当前顺序查找、需实现二叉树查找" >> $README
echo "" >>$README
python3 font2bitmap.py -s "$TIME_TEXT" $TIME_OTF_FONT 48 > $SRC_DIR/time.py
python3 pyfont_to_bin.py $SRC_DIR/time.py $DST_DIR/time.bfont
echo "3. cn.bfont 中文字体" >> "$README"
echo "> 有字符MAP表二叉树查找" >> "$README"
echo "" >>"$README"
SORTED_TEXT=$(python3 -c "text = '''$CN_TEXT''';sorted_unique = ''.join(sorted(set(text), key=lambda c: ord(c)));print(sorted_unique, end='')")
python3 font2bitmap.py -s "$SORTED_TEXT" "$CN_OTF_FONT" 20 > "$SRC_DIR/pyfont/cn.py"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/cn.py" "$DST_DIR/cn.bfont"
echo "4. time.bfont 时间字体" >> "$README"
echo "> 有字符MAP表二叉树查找" >> "$README"
echo "" >>"$README"
SORTED_TEXT=$(python3 -c "text = '''$TIME_TEXT''';sorted_unique = ''.join(sorted(set(text), key=lambda c: ord(c)));print(sorted_unique, end='')")
python3 font2bitmap.py -s "$SORTED_TEXT" "$TIME_OTF_FONT" 48 > "$SRC_DIR/pyfont/time.py"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/time.py" "$DST_DIR/time.bfont"
# 开始转换图片文件
SRC_DIR=./assets
SRC_DIR=./assets/images
DST_DIR=../src/rom/images
# 透明色转换成黑色背景质量95%
python3 png_to_jpg.py -d $SRC_DIR/ --color black --quality 100
cp -v $SRC_DIR/*.jpg $DST_DIR/
python3 png_to_jpg.py -d "$SRC_DIR/" --color black --quality 100
mv -v "$SRC_DIR"/*.jpg "$DST_DIR/"

View File

@@ -1,13 +1,16 @@
#!/bin/sh
#!/bin/bash
# switch to local path
cd "$(dirname "$0")" || exit 1
# 连接并打印文件列表
mpremote ls
# 生成romfs文件系统并上传
mpremote romfs deploy src/rom
mpremote romfs deploy ../src/rom
# 复制文件
for file in src/*.py; do
for file in ../src/*.py; do
if [ -f "$file" ]; then
mpremote fs cp "$file" :
fi