micropython-micro-gui/gui/fonts/font10.py

297 wiersze
17 KiB
Python

# Code generated by font_to_py.py.
# Font: FreeSans.ttf Char set: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~£¬°Ωαβγδθλμπωϕ
# Cmd: ./font_to_py.py -xk extended FreeSans.ttf 17 font10.py
version = '0.33'
def height():
return 17
def baseline():
return 13
def max_width():
return 17
def hmap():
return True
def reverse():
return False
def monospaced():
return False
def min_ch():
return 32
def max_ch():
return 981
_font =\
b'\x09\x00\x1e\x00\x63\x80\x61\x80\x01\x80\x01\x80\x03\x00\x06\x00'\
b'\x04\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x06\x00\x30\x30\x30\x30\x30\x30\x30'\
b'\x30\x30\x30\x20\x00\x30\x00\x00\x00\x00\x06\x00\x00\x78\x78\x78'\
b'\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00'\
b'\x00\x00\x00\x19\x00\x19\x00\x13\x00\x7f\x80\x12\x00\x32\x00\x32'\
b'\x00\xff\x80\x26\x00\x24\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x09\x00\x08\x00\x1e\x00\x2b\x00\x69\x80\x69\x80\x68\x00\x68'\
b'\x00\x1e\x00\x0b\x80\x09\x80\x69\x80\x6b\x00\x3e\x00\x08\x00\x00'\
b'\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x3c\x10\x66\x20\x66\x40\x66'\
b'\x40\x64\x80\x18\x80\x01\x3c\x02\x66\x02\x66\x04\x66\x04\x66\x08'\
b'\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x0f\x00\x19'\
b'\x80\x19\x80\x19\x80\x0f\x00\x0c\x00\x3a\x60\x73\x60\x61\xc0\x60'\
b'\xc0\x71\xc0\x1e\x20\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00'\
b'\x60\x60\x60\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x06\x00\x08\x10\x10\x30\x20\x60\x60\x60\x60\x60\x60\x20\x30\x10'\
b'\x18\x08\x00\x06\x00\x40\x60\x20\x30\x10\x18\x18\x18\x18\x18\x18'\
b'\x10\x30\x20\x60\x40\x00\x07\x00\x10\x54\x38\x28\x28\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0c\x00\x0c\x00\x3f\x00\x0c'\
b'\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x20\x40\x00'\
b'\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x60\x00\x00\x00\x00\x05\x00\x08\x08\x10\x10\x10\x20\x20\x20'\
b'\x40\x40\x40\x80\x80\x00\x00\x00\x00\x09\x00\x00\x00\x1e\x00\x33'\
b'\x00\x21\x00\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x21'\
b'\x00\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00'\
b'\x00\x04\x00\x0c\x00\x3c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c'\
b'\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x09\x00\x00\x00\x1e\x00\x33\x00\x61\x80\x61\x80\x01\x80\x03'\
b'\x00\x06\x00\x1c\x00\x30\x00\x20\x00\x60\x00\x7f\x80\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x09\x00\x00\x00\x3e\x00\x73\x80\x61\x80\x01'\
b'\x80\x01\x00\x0e\x00\x03\x80\x01\x80\x01\x80\x61\x80\x73\x00\x1e'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x03\x00\x03'\
b'\x00\x07\x00\x0b\x00\x0b\x00\x13\x00\x23\x00\x23\x00\x3f\x80\x03'\
b'\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00'\
b'\x00\x3f\x00\x20\x00\x20\x00\x40\x00\x5e\x00\x73\x00\x01\x80\x01'\
b'\x80\x01\x80\x61\x80\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x09\x00\x00\x00\x1e\x00\x33\x00\x21\x80\x60\x00\x60\x00\x7e'\
b'\x00\x73\x00\x61\x80\x61\x80\x61\x80\x33\x00\x1e\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x09\x00\x00\x00\xff\x00\x03\x00\x02\x00\x06'\
b'\x00\x04\x00\x0c\x00\x08\x00\x18\x00\x18\x00\x10\x00\x30\x00\x30'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x1e\x00\x33'\
b'\x00\x61\x80\x61\x80\x33\x00\x1e\x00\x33\x00\x61\x80\x61\x80\x61'\
b'\x80\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00'\
b'\x00\x1e\x00\x33\x00\x61\x80\x61\x80\x61\x80\x33\x80\x1d\x80\x01'\
b'\x80\x01\x80\x61\x00\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x04\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x60'\
b'\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00'\
b'\x00\x00\x60\x20\x20\x40\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x01\x80\x07\x00\x1c\x00\x60\x00\x70\x00\x1c\x00\x03'\
b'\x80\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x80\x00\x00\x00'\
b'\x00\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x38\x00\x0e'\
b'\x00\x01\x80\x03\x80\x0e\x00\x70\x00\x40\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x09\x00\x1e\x00\x63\x80\x61\x80\x01\x80\x01\x80\x03'\
b'\x00\x06\x00\x04\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x0c\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x11\x00\x03\xf0\x00\x06\x1c\x00\x18'\
b'\x06\x00\x10\x03\x00\x31\xdb\x80\x26\x39\x80\x66\x31\x80\x6c\x31'\
b'\x80\x6c\x31\x80\x6c\x23\x00\x6e\x67\x00\x37\xbc\x00\x18\x00\x00'\
b'\x0c\x00\x00\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x06\x00'\
b'\x0e\x00\x0b\x00\x1b\x00\x1b\x00\x11\x80\x31\x80\x31\x80\x3f\xc0'\
b'\x60\xc0\x60\x40\x40\x60\xc0\x60\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x0b\x00\x7f\x00\x61\xc0\x60\xc0\x60\xc0\x60\xc0\x61\x80\x7f\x00'\
b'\x60\xc0\x60\x60\x60\x60\x60\x60\x60\xc0\x7f\x80\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x0c\x00\x0f\xc0\x18\x60\x30\x30\x20\x30\x60\x00'\
b'\x60\x00\x60\x00\x60\x00\x60\x00\x20\x30\x30\x30\x18\x60\x0f\xc0'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x7f\x80\x60\xc0\x60\x60'\
b'\x60\x30\x60\x30\x60\x30\x60\x30\x60\x30\x60\x30\x60\x30\x60\x60'\
b'\x60\xc0\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x7f\x80'\
b'\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x7f\x80\x60\x00\x60\x00'\
b'\x60\x00\x60\x00\x60\x00\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x0a\x00\x7f\x80\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x7f\x00'\
b'\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x0d\x00\x07\xe0\x18\x30\x30\x18\x30\x00\x60\x00'\
b'\x60\x00\x60\xf8\x60\x18\x60\x18\x30\x18\x30\x38\x18\x78\x07\x88'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x60\x60\x60\x60\x60\x60'\
b'\x60\x60\x60\x60\x60\x60\x7f\xe0\x60\x60\x60\x60\x60\x60\x60\x60'\
b'\x60\x60\x60\x60\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x30\x30'\
b'\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x09'\
b'\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03'\
b'\x00\x03\x00\x63\x00\x63\x00\x62\x00\x3c\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x0b\x00\x60\x60\x60\xc0\x61\x80\x63\x00\x66\x00\x6c'\
b'\x00\x7e\x00\x73\x00\x63\x00\x61\x80\x60\xc0\x60\xc0\x60\x60\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x60\x00\x60\x00\x60\x00\x60'\
b'\x00\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x60\x00\x60'\
b'\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x70\x1c\x70'\
b'\x1c\x78\x3c\x78\x3c\x68\x2c\x6c\x6c\x6c\x6c\x64\x4c\x66\xcc\x66'\
b'\xcc\x62\x8c\x63\x8c\x63\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x0c'\
b'\x00\x70\x30\x70\x30\x78\x30\x68\x30\x6c\x30\x66\x30\x62\x30\x63'\
b'\x30\x61\xb0\x61\xb0\x60\xf0\x60\x70\x60\x70\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x0d\x00\x0f\xc0\x18\x60\x30\x30\x70\x30\x60\x18\x60'\
b'\x18\x60\x18\x60\x18\x60\x18\x70\x30\x30\x30\x18\x60\x0f\xc0\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x7f\x80\x60\xc0\x60\x60\x60'\
b'\x60\x60\x60\x60\xc0\x7f\x80\x60\x00\x60\x00\x60\x00\x60\x00\x60'\
b'\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x0f\xc0\x18'\
b'\x60\x30\x30\x70\x30\x60\x18\x60\x18\x60\x18\x60\x18\x60\x18\x70'\
b'\xb0\x30\xf0\x18\x60\x0f\xf0\x00\x10\x00\x00\x00\x00\x00\x00\x0c'\
b'\x00\x7f\x80\x60\xe0\x60\x60\x60\x60\x60\x60\x60\xc0\x7f\x80\x60'\
b'\xe0\x60\x60\x60\x60\x60\x60\x60\x60\x60\x70\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x0b\x00\x1f\x80\x30\xc0\x60\x60\x60\x00\x60\x00\x30'\
b'\x00\x1f\x00\x03\xc0\x00\xe0\x60\x60\x60\x60\x30\xc0\x1f\x80\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x3f\xc0\x06\x00\x06\x00\x06'\
b'\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06'\
b'\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x60\x60\x60'\
b'\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60'\
b'\x60\x60\x60\x30\xc0\x1f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x0b'\
b'\x00\xc0\x60\x40\x40\x60\xc0\x60\xc0\x20\x80\x31\x80\x31\x80\x11'\
b'\x00\x1b\x00\x0b\x00\x0a\x00\x0e\x00\x06\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x10\x00\xc1\x83\xc1\x82\x42\x86\x62\xc6\x62\xc6\x62'\
b'\x44\x24\x44\x24\x6c\x34\x2c\x3c\x28\x18\x38\x18\x38\x18\x18\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x60\x40\x20\xc0\x31\x80\x19'\
b'\x00\x1b\x00\x0e\x00\x06\x00\x0e\x00\x1b\x00\x11\x80\x31\x80\x60'\
b'\xc0\x40\x60\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x40\x60\x60'\
b'\x60\x30\xc0\x30\xc0\x19\x80\x0d\x00\x0f\x00\x06\x00\x06\x00\x06'\
b'\x00\x06\x00\x06\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a'\
b'\x00\x7f\xc0\x00\xc0\x01\x80\x03\x00\x03\x00\x06\x00\x0c\x00\x0c'\
b'\x00\x18\x00\x30\x00\x30\x00\x60\x00\x7f\xc0\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x05\x00\x70\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60'\
b'\x60\x60\x60\x60\x60\x70\x05\x00\x80\x80\x40\x40\x40\x20\x20\x20'\
b'\x10\x10\x10\x08\x08\x00\x00\x00\x00\x05\x00\xe0\x60\x60\x60\x60'\
b'\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\xe0\x08\x00\x00\x18'\
b'\x18\x3c\x24\x24\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a'\
b'\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\xff\xc0\x00\x00\x00'\
b'\x00\x00\x00\x04\x00\xc0\x40\x20\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x3e\x00\x63\x00\x03\x00\x03\x00\x3f\x00\x63\x00\x63\x00\x67\x00'\
b'\x3b\x80\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x60\x00\x60\x00'\
b'\x60\x00\x60\x00\x6f\x00\x71\x80\x60\x80\xe0\x80\xe0\x80\xe0\x80'\
b'\xe0\x80\xf1\x80\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x33\x00\x61\x80\x60\x00'\
b'\x60\x00\x60\x00\x61\x80\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x0a\x00\x01\x80\x01\x80\x01\x80\x01\x80\x1d\x80\x33\x80'\
b'\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x33\x80\x1d\x80\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x1e\x00\x33\x00\x61\x80\x61\x80\x7f\x80\x60\x00\x61\x80\x33\x00'\
b'\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x18\x30\x30\x30'\
b'\x78\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x09\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x1d\x80\x33\x80\x61\x80\x61\x80\x61'\
b'\x80\x61\x80\x61\x80\x33\x80\x1d\x80\x01\x80\x01\x80\x63\x00\x3e'\
b'\x00\x09\x00\x60\x00\x60\x00\x60\x00\x60\x00\x6f\x00\x71\x80\x61'\
b'\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x04\x00\x60\x00\x00\x00\x60\x60\x60\x60\x60'\
b'\x60\x60\x60\x60\x00\x00\x00\x00\x04\x00\x30\x00\x00\x00\x30\x30'\
b'\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\xe0\x09\x00\x60\x00\x60'\
b'\x00\x60\x00\x60\x00\x63\x00\x66\x00\x6c\x00\x7c\x00\x74\x00\x66'\
b'\x00\x63\x00\x63\x00\x61\x80\x00\x00\x00\x00\x00\x00\x00\x00\x04'\
b'\x00\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x60\x00\x00'\
b'\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\xf0\x73\x98'\
b'\x63\x18\x63\x18\x63\x18\x63\x18\x63\x18\x63\x18\x63\x18\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x6f\x00\x71\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80'\
b'\x61\x80\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x1e\x00\x33\x00\x61\x80\x61\x80\x61\x80\x61\x80'\
b'\x61\x80\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x71\x80\x60\x80\xe0\x80'\
b'\xe0\x80\xe0\x80\xe0\x80\xf1\x80\x6f\x00\x60\x00\x60\x00\x60\x00'\
b'\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x80\x33\x80'\
b'\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x33\x80\x1d\x80\x01\x80'\
b'\x01\x80\x01\x80\x00\x00\x06\x00\x00\x00\x00\x00\x6c\x70\x60\x60'\
b'\x60\x60\x60\x60\x60\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x3e'\
b'\x63\x60\x60\x38\x07\x63\x63\x3e\x00\x00\x00\x00\x05\x00\x00\x00'\
b'\x30\x30\x78\x30\x30\x30\x30\x30\x30\x30\x38\x00\x00\x00\x00\x09'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x80\x61\x80\x61\x80\x61'\
b'\x80\x61\x80\x61\x80\x61\x80\x63\x80\x3d\x80\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x08\x00\x00\x00\x00\x00\xc3\x43\x62\x66\x26\x34\x3c'\
b'\x18\x18\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\xc6\x30\x46\x30\x47\x20\x6f\x20\x69\x60\x29\x60\x29\xc0\x39\xc0'\
b'\x10\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00'\
b'\x42\x66\x34\x18\x18\x1c\x24\x66\x43\x00\x00\x00\x00\x08\x00\x00'\
b'\x00\x00\x00\xc3\x42\x42\x66\x24\x24\x3c\x18\x18\x18\x10\x30\x60'\
b'\x08\x00\x00\x00\x00\x00\x7f\x06\x04\x0c\x18\x30\x20\x60\x7f\x00'\
b'\x00\x00\x00\x06\x00\x18\x30\x30\x30\x30\x30\x30\x70\x60\x70\x30'\
b'\x30\x30\x30\x30\x30\x18\x04\x00\x30\x30\x30\x30\x30\x30\x30\x30'\
b'\x30\x30\x30\x30\x30\x30\x30\x30\x00\x06\x00\x60\x30\x30\x30\x30'\
b'\x30\x30\x38\x18\x38\x30\x30\x30\x30\x30\x30\x60\x09\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x4f\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x09\x00\x1f\x00\x31\x80\x61\x80\x60\x00\x60\x00\x30\x00\xfc\x00'\
b'\x18\x00\x18\x00\x18\x00\x30\x00\x7c\x80\x47\x80\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x3f\xc0\x00\xc0\x00\xc0\x00\xc0\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x0e\x00\x11\x00'\
b'\x11\x00\x11\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x0f\xc0'\
b'\x18\x60\x30\x30\x30\x18\x60\x18\x60\x18\x60\x18\x60\x18\x60\x18'\
b'\x30\x30\x10\x60\x08\xc0\x7c\xf8\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x80\x33\x80\x61\x80'\
b'\x61\x80\x61\x80\x61\x80\x61\x80\x33\x80\x1f\xc0\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x09\x00\x3e\x00\x23\x00\x63\x00\x63\x00\x63\x00'\
b'\x66\x00\x6c\x00\x63\x00\x61\x80\x61\x80\x61\x80\x73\x00\x7e\x00'\
b'\x60\x00\x60\x00\x60\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\xc1\x80\x61\x80\x21\x00\x33\x00\x32\x00\x1e\x00\x1e\x00'\
b'\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x00\x00\x09\x00\x3f\x00'\
b'\x30\x00\x1c\x00\x0e\x00\x1f\x00\x33\x00\x61\x80\x61\x80\x61\x80'\
b'\x61\x80\x61\x80\x33\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x09\x00\x1e\x00\x33\x00\x21\x00\x61\x80\x61\x80\x61\x80\x7f\x80'\
b'\x61\x80\x61\x80\x61\x80\x61\x00\x33\x00\x1e\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x09\x00\x60\x00\x10\x00\x18\x00\x18\x00\x18\x00'\
b'\x1c\x00\x34\x00\x34\x00\x26\x00\x62\x00\x62\x00\x43\x00\xc1\x80'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80\x61\x80'\
b'\x73\x80\x7f\x80\x60\x00\x60\x00\x60\x00\x00\x00\x0a\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x7f\xc0\x31\x80\x31\x80\x31\x80\x31\x80'\
b'\x31\x80\x31\x80\x31\x80\x31\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x60\x30\x30\x20\x10'\
b'\x63\x10\xe3\x10\xe3\x10\xe3\x10\xb3\x30\x1c\xe0\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x0c\x00\x00\x00\x06\x00\x06\x00\x06\x00\x1f\x80'\
b'\x36\x60\x66\x30\x66\x30\x66\x30\x66\x30\x66\x30\x36\x60\x1f\xc0'\
b'\x06\x00\x06\x00\x06\x00\x00\x00'
_sparse =\
b'\x20\x00\x24\x00\x21\x00\x37\x00\x22\x00\x4a\x00\x23\x00\x5d\x00'\
b'\x24\x00\x81\x00\x25\x00\xa5\x00\x26\x00\xc9\x00\x27\x00\xed\x00'\
b'\x28\x00\x00\x01\x29\x00\x13\x01\x2a\x00\x26\x01\x2b\x00\x39\x01'\
b'\x2c\x00\x5d\x01\x2d\x00\x70\x01\x2e\x00\x83\x01\x2f\x00\x96\x01'\
b'\x30\x00\xa9\x01\x31\x00\xcd\x01\x32\x00\xf1\x01\x33\x00\x15\x02'\
b'\x34\x00\x39\x02\x35\x00\x5d\x02\x36\x00\x81\x02\x37\x00\xa5\x02'\
b'\x38\x00\xc9\x02\x39\x00\xed\x02\x3a\x00\x11\x03\x3b\x00\x24\x03'\
b'\x3c\x00\x37\x03\x3d\x00\x5b\x03\x3e\x00\x7f\x03\x3f\x00\xa3\x03'\
b'\x40\x00\xc7\x03\x41\x00\xfc\x03\x42\x00\x20\x04\x43\x00\x44\x04'\
b'\x44\x00\x68\x04\x45\x00\x8c\x04\x46\x00\xb0\x04\x47\x00\xd4\x04'\
b'\x48\x00\xf8\x04\x49\x00\x1c\x05\x4a\x00\x2f\x05\x4b\x00\x53\x05'\
b'\x4c\x00\x77\x05\x4d\x00\x9b\x05\x4e\x00\xbf\x05\x4f\x00\xe3\x05'\
b'\x50\x00\x07\x06\x51\x00\x2b\x06\x52\x00\x4f\x06\x53\x00\x73\x06'\
b'\x54\x00\x97\x06\x55\x00\xbb\x06\x56\x00\xdf\x06\x57\x00\x03\x07'\
b'\x58\x00\x27\x07\x59\x00\x4b\x07\x5a\x00\x6f\x07\x5b\x00\x93\x07'\
b'\x5c\x00\xa6\x07\x5d\x00\xb9\x07\x5e\x00\xcc\x07\x5f\x00\xdf\x07'\
b'\x60\x00\x03\x08\x61\x00\x16\x08\x62\x00\x3a\x08\x63\x00\x5e\x08'\
b'\x64\x00\x82\x08\x65\x00\xa6\x08\x66\x00\xca\x08\x67\x00\xdd\x08'\
b'\x68\x00\x01\x09\x69\x00\x25\x09\x6a\x00\x38\x09\x6b\x00\x4b\x09'\
b'\x6c\x00\x6f\x09\x6d\x00\x82\x09\x6e\x00\xa6\x09\x6f\x00\xca\x09'\
b'\x70\x00\xee\x09\x71\x00\x12\x0a\x72\x00\x36\x0a\x73\x00\x49\x0a'\
b'\x74\x00\x5c\x0a\x75\x00\x6f\x0a\x76\x00\x93\x0a\x77\x00\xa6\x0a'\
b'\x78\x00\xca\x0a\x79\x00\xdd\x0a\x7a\x00\xf0\x0a\x7b\x00\x03\x0b'\
b'\x7c\x00\x16\x0b\x7d\x00\x29\x0b\x7e\x00\x3c\x0b\xa3\x00\x60\x0b'\
b'\xac\x00\x84\x0b\xb0\x00\xa8\x0b\xa9\x03\xcc\x0b\xb1\x03\xf0\x0b'\
b'\xb2\x03\x14\x0c\xb3\x03\x38\x0c\xb4\x03\x5c\x0c\xb8\x03\x80\x0c'\
b'\xbb\x03\xa4\x0c\xbc\x03\xc8\x0c\xc0\x03\xec\x0c\xc9\x03\x10\x0d'\
b'\xd5\x03\x34\x0d'
_mvfont = memoryview(_font)
_mvsp = memoryview(_sparse)
ifb = lambda l : l[0] | (l[1] << 8)
def bs(lst, val):
while True:
m = (len(lst) & ~ 7) >> 1
v = ifb(lst[m:])
if v == val:
return ifb(lst[m + 2:])
if not m:
return 0
lst = lst[m:] if v < val else lst[:m]
def get_ch(ch):
doff = bs(_mvsp, ord(ch))
width = ifb(_mvfont[doff : ])
next_offs = doff + 2 + ((width - 1)//8 + 1) * 17
return _mvfont[doff + 2:next_offs], 17, width