diff --git a/misc/q1font/font_iosevka.py b/misc/q1font/font_iosevka.py index 472cee2c..e7b683d3 100644 --- a/misc/q1font/font_iosevka.py +++ b/misc/q1font/font_iosevka.py @@ -25,10 +25,10 @@ CELL_W = const(9) CELL_H = const(22) BYTES_PER_CHAR = const(99) -#SPECIAL_CHARS = ['→', '←', '↳', '•', '⋯', '█', '▌', '▐', '▼', '▲', '▶', '◀', '⏵', '₿', '✔', '✓', '↦', '␣', '◉', '◯', '◌', '⬚', '░', '™', '©', '⬧', '※', '─', '—', '━', '┃', '┇', '┓', '┏', '┛', '┗'] +#SPECIAL_CHARS = ['→', '←', '↳', '•', '⋯', '█', '▌', '▐', '▼', '▲', '▶', '◀', '⏵', '₿', '✔', '✓', '↦', '␣', '◉', '◯', '◌', '⬚', '░', '™', '©', '⬧', '※', '─', '—', '━', '┅', '┃', '┇', '┓', '┏', '┛', '┗'] class FontIosevka: - DOUBLE_WIDE = ['⋯', '✔', '✓', '→', '←', '↦', '◉', '◯', '◌', '※', '•', '—', '\x0e', '\x11', '\t', '\x0f', '\x12', '\x13', '\x14', '\x16', '\x17'] + DOUBLE_WIDE = ['⋯', '✔', '✓', '→', '←', '↦', '◉', '◯', '◌', '※', '—', '\x0e', '\x11', '\t', '\x0f', '\x12', '\x13', '\x14', '\x16', '\x17'] @classmethod def lookup(cls, cp): @@ -137,7 +137,7 @@ class FontIosevka: '→': 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\x82\x00\x00\x00\x00\x00\x00\x00\x00\x8d \x00\x00\x00\x00\x00\x00\x00\n\xd1\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x10\x0f\xff\xff\xff\xff\xff\xff\xff\xc1\x0f\xff\xff\xff\xff\xff\xff\xff\xc1\x00\x00\x00\x00\x00\x00\x00\xbd\x10\x00\x00\x00\x00\x00\x00\t\xd1\x00\x00\x00\x00\x00\x00\x00\x8d \x00\x00\x00\x00\x00\x00\x00\x82\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\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\x02\xd8\x00\x00\x00\x00\x00\x00\x00\x1d\xa0\x00\x00\x00\x00\x00\x00\x01\xdb\x00\x00\x00\x00\x00\x00\x00\x1c\xff\xff\xff\xff\xff\xff\xff\xf0\x1c\xff\xff\xff\xff\xff\xff\xff\xf0\x01\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x90\x00\x00\x00\x00\x00\x00\x00\x02\xd8\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\x00\x00\x00\x00', '↳': b'\xdfP\x00\x00\r\xf5\x00\x00\x00\xdfP\x00\x00\r\xf5\x00\x00\x00\xdfP\x00\x00\r\xf5\x00\x00\x00\xdfP\x00\x00\r\xf5\x00[\x00\xdfP\x01\xdb\r\xf5\x00\x02\xda\xdf\xed\xdd\xde\xfd\xff\xff\xff\xff\x00\x00\x00\x1d\xb0\x00\x00\x1c\xb0\x00\x00\x05\xc1\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xdf\xd4\x00\x00\x00\x00\x00\x00\r\xff\xfd\x00\x00\x00\x00\x00\x00?\xff\xff0\x00\x00\x00\x00\x00?\xff\xff0\x00\x00\x00\x00\x00\r\xff\xfd\x00\x00\x00\x00\x00\x00\x04\xdf\xd4\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\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\x00M\xfd@\x00\r\xff\xfd\x00\x03\xff\xff\xf3\x00?\xff\xff0\x00\xdf\xff\xd0\x00\x04\xdf\xd4\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00f\x00\x00f\x00\x00f\x00\t\xff\xa0\t\xff\x90\n\xff\x90\r\xff\xd0\r\xff\xd0\r\xff\xd0\n\xff\xb0\x0b\xff\xa0\x0b\xff\xa0\x01\x88\x10\x01\x88\x10\x01\x88\x10\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '█': b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', '▌': b'\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00\xff\xff\x80\x00\x0f\xff\xf8\x00\x00', @@ -172,11 +172,12 @@ class FontIosevka: '\x14': b'\x00\x0f\xff\xff\xff\xff\xff\xf0\x00\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x01\xff\xfd\x00\x06\xe1\x00\x0f\xf0\x01\xf73\x00\r\x90\x00\x0f\xf0\x01\xf5\x00\x00_ \x00\x0f\xf0\x01\xff\xf4\x00\xcb\xf5\x00\x0f\xf0\x01\xf71\x04\xf4\xf5\x00\x0f\xf0\x01\xf5\x00\x07\xff\xfd\x00\x0f\xf0\x01\xf5\x00\x014\xf7\x00\x0f\xf0\x01\xf5\x00\x00\x01\xf5\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x00\x0f\xff\xff\xff\xff\xff\xf0\x00', '\x16': b'\x00\x0f\xff\xff\xff\xff\xff\xf0\x00\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x01\xff\xfd\x05\xff\xfb\x00\x0f\xf0\x01\xf73\x05\xf42\x00\x0f\xf0\x01\xf5\x00\x05\xff\xd3\x00\x0f\xf0\x01\xff\xf4\x05\xf7\xcc\x00\x0f\xf0\x01\xf71\x01@~\x00\x0f\xf0\x01\xf5\x00\x01@~\x00\x0f\xf0\x01\xf5\x00\x03\xf6\xcc\x00\x0f\xf0\x01\xf5\x00\x00\x9f\xd3\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x00\x0f\xff\xff\xff\xff\xff\xf0\x00', '\x17': b'\x00\x0f\xff\xff\xff\xff\xff\xf0\x00\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x01\xff\xfd\x00\x0c\xc0\x00\x0f\xf0\x01\xf73\x00O@\x00\x0f\xf0\x01\xf5\x00\x00\xcc\x00\x00\x0f\xf0\x01\xff\xf4\x02\xff\xd4\x00\x0f\xf0\x01\xf71\x06\xf5\xbc\x00\x0f\xf0\x01\xf5\x00\x07\xe0~\x00\x0f\xf0\x01\xf5\x00\x04\xf5\xbc\x00\x0f\xf0\x01\xf5\x00\x00\x9f\xd4\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x0f\x0f\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\xf0\x00\x00\x00\x00\x00\x0f\xf0\x00\x0f\xff\xff\xff\xff\xff\xf0\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\x0f\xff\xff\xff\xff\xff\xff\xff\xff\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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\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\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\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00', '┇': b'\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\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\x0f\xff\xff\xff\x00\xff\xff\xff\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\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\x0f\xff\xff\xff\x00\xff\xff\xff\xf0\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00', - '┛': b'\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x0f\xff\xff\xff\x00\xff\xff\xff\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\x00\x00', - '┗': b'\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xff\xff\xff\x00\xff\xff\xff\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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xf0\x0f\xff\xff\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xf0\x0f\xff\xff\xff\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00', + '┛': b'\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\xff\xff\xff\xf0\x0f\xff\xff\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\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\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\x00\x00\x00\x0f\xf0\x00\x00\x00\xff\xff\xff\xf0\x0f\xff\xff\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\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', } diff --git a/misc/q1font/render.py b/misc/q1font/render.py index 0fdb874c..fe60155b 100755 --- a/misc/q1font/render.py +++ b/misc/q1font/render.py @@ -41,7 +41,8 @@ KEYS_FUNCTION = KEY_F1 + KEY_F2 + KEY_F3 + KEY_F4 + KEY_F5 + KEY_F6 KEYCAP_SYMBOLS = [ KEY_NFC, KEY_QR, KEY_TAB ] + list(KEYS_FUNCTION) # we override these w/ our own art, but the chars involved are still these -LINEDRAW_SYMBOLS = [ '━', '┃', '┇', '┓', '┏', '┛','┗' ] # 'heavy' versions +# - dashed version for bottom/right sides of things +LINEDRAW_SYMBOLS = [ '━', '┅', '┃', '┇', '┓', '┏', '┛','┗' ] # 'heavy' versions CHARSET = [chr(x) for x in range(32,127)] \ + ['→', '←', '↳', '•', '⋯', @@ -55,7 +56,7 @@ CHARSET = [chr(x) for x in range(32,127)] \ # these are be better as double-wide chars DBL_WIDTH = ['⋯', '✔', '✓','→', '←', '↦', - '◉', '◯', '◌', '※', '•', '—', + '◉', '◯', '◌', '※', '—', ] + KEYCAP_SYMBOLS NUM_CHARS = len(CHARSET) @@ -117,9 +118,10 @@ def draw_linedrawing(ch, img, draw): lw = 2 # line width w, h = CELL_W, CELL_H mw = (w // 2) - (lw//2) - mh = (h // 2) - lw + mh1 = (h // 2) - lw + 3+4 # top + mh2 = (h // 2) - lw - 5 # bot if ch == '┃': - print(f"{mw=} {mh=} CELL={CELL_W}x{CELL_H}") + print(f"{mw=} {mh1=} {mh2=} CELL={CELL_W}x{CELL_H}") # erase old attempt from font draw.rectangle( (0,0, w, h), fill=0) @@ -130,16 +132,18 @@ def draw_linedrawing(ch, img, draw): draw.line( (mw-1, 0, mw-1, h), width=lw, fill=255) elif ch == '┇': # for right side of box draw.line( (mw+2, 0, mw+2, h), width=lw, fill=255) - elif ch == '━': - draw.line( (0, mh, w, mh), width=lw, fill=255) + elif ch == '━': # top lines + draw.line( (0, mh1, w, mh1), width=lw, fill=255) + elif ch == '┅': # bottom lines + draw.line( (0, mh2, w, mh2), width=lw, fill=255) elif ch == '┓': - draw.line( [(0, mh), (mw+2, mh), (mw+2, h)], width=lw, fill=255, joint='curve') + draw.line( [(0, mh1), (mw+2, mh1), (mw+2, h)], width=lw, fill=255, joint='curve') elif ch == '┏': - draw.line( [(mw, h), (mw, mh), (w, mh)], width=lw, fill=255, joint='curve') + draw.line( [(mw, h), (mw, mh1), (w, mh1)], width=lw, fill=255, joint='curve') elif ch == '┛': - draw.line( [(mw+2, 0), (mw+2, mh+1), (0, mh+1)], width=lw, fill=255, joint='curve') + draw.line( [(mw+2, 0), (mw+2, mh2+1), (0, mh2+1)], width=lw, fill=255, joint='curve') elif ch == '┗': - draw.line( [(mw-1, 0), (mw-1, mh), (w, mh)], width=lw, fill=255, joint='curve') + draw.line( [(mw-1, 0), (mw-1, mh2), (w, mh2)], width=lw, fill=255, joint='curve') else: raise ValueError(ch) @@ -198,8 +202,8 @@ def doit(out_fname='font_iosevka.py', cls_name='FontIosevka'): # - looks awesome for random keyboard PIN entry mode this_y = -4 if ch == '•': - # double-wide bullet; needs perfect alignment inside full-cell box cursor - x_shift += 4.6 # right side of perfect + # bullet; needs perfect alignment inside full-cell box cursor + #x_shift += 4.6 # right side of perfect (FOR DOUBLE WIDE) this_y = 1 # perfect if ch in KEYCAP_SYMBOLS: diff --git a/misc/q1font/sample.png b/misc/q1font/sample.png index 269226e3..ee205079 100644 Binary files a/misc/q1font/sample.png and b/misc/q1font/sample.png differ