add function keycaps
This commit is contained in:
parent
1fc6cd4dc6
commit
7ac6915202
@ -28,7 +28,7 @@ BYTES_PER_CHAR = const(99)
|
||||
#SPECIAL_CHARS = ['→', '←', '↳', '•', '⋯', '█', '▌', '▐', '▼', '▲', '▶', '◀', '⏵', '₿', '✔', '✓', '↦', '␣', '◉', '◯', '◌', '⬚', '░', '™', '©', '⬧', '※', '─', '—', '━', '┃', '┓', '┏', '┛', '┗']
|
||||
|
||||
class FontIosevka:
|
||||
DOUBLE_WIDE = ['⋯', '✔', '✓', '→', '←', '↦', '◉', '◯', '◌', '※', '•', '—', '\x0e', '\x11', '\t']
|
||||
DOUBLE_WIDE = ['⋯', '✔', '✓', '→', '←', '↦', '◉', '◯', '◌', '※', '•', '—', '\x0e', '\x11', '\t', '\x0f', '\x12', '\x13', '\x14', '\x16', '\x17']
|
||||
|
||||
@classmethod
|
||||
def lookup(cls, cp):
|
||||
@ -172,4 +172,10 @@ class FontIosevka:
|
||||
'\x0e': 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\xf6\xf1\x8d\x01\xff\xfd\x0b\xfdO\xf6\xf6\x8d\x01\xf73_\\\xcf\xf6\xfb\x8d\x01\xf5\x00~\x01/\xf6\xed\x9d\x01\xff\xf4~\x00\x0f\xf6\xf9\xcd\x01\xf71~\x00\x0f\xf6\xf3\xfd\x01\xf5\x00~\x01/\xf6\xf0\xdd\x01\xf5\x00_\\\xcf\xf6\xf0\x8d\x01\xf5\x00\x0b\xfdO\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',
|
||||
'\x11': 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\x00\xaf\xd4\x06\xff\xd4\x00\x0f\xf0\x05\xf5\xbd\x06\xf3\xbc\x00\x0f\xf0\x07\xe0~\x06\xf0~\x00\x0f\xf0\x07\xe0~\x06\xf0\xad\x00\x0f\xf0\x07\xe0~\x06\xff\xf6\x00\x0f\xf0\x07\xe0~\x06\xf9\xe1\x00\x0f\xf0\x07\xe1\x8e\x06\xf1\xe7\x00\x0f\xf0\x02\xed\xe9\x06\xf0\x9d\x00\x0f\xf0\x00-\xc0\x00\x00\x00\x00\x0f\xf0\x00\x07\xfa\x00\x00\x00\x00\x0f\xf0\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',
|
||||
'\t': 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\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0e \x00\x00\x83\x00\x00\x0f\xf0\x0e \x00\x00-\x10\x00\x0f\xf0\x0e \x00\x00\x05\xc0\x00\x0f\xf0\x0e\xff\xff\xff\xff\xf6\x00\x0f\xf0\x0eC339\x90\x00\x0f\xf0\x0e \x00\x00f\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\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',
|
||||
'\x0f': 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\x00N\xc0\x00\x0f\xf0\x01\xf73\x03\xdc\xc0\x00\x0f\xf0\x01\xf5\x00\x00\n\xc0\x00\x0f\xf0\x01\xff\xf4\x00\n\xc0\x00\x0f\xf0\x01\xf71\x00\n\xc0\x00\x0f\xf0\x01\xf5\x00\x00\n\xc0\x00\x0f\xf0\x01\xf5\x00\x00\n\xc0\x00\x0f\xf0\x01\xf5\x00\x00\n\xc0\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',
|
||||
'\x12': 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\xaf\xd4\x00\x0f\xf0\x01\xf73\x05\xf5\xcc\x00\x0f\xf0\x01\xf5\x00\x01 \x8d\x00\x0f\xf0\x01\xff\xf4\x00\x01\xd9\x00\x0f\xf0\x01\xf71\x00-\xb1\x00\x0f\xf0\x01\xf5\x00\x00\xdc\x00\x00\x0f\xf0\x01\xf5\x00\x04\xf63\x00\x0f\xf0\x01\xf5\x00\x06\xff\xfd\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',
|
||||
'\x13': 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\xaf\xd4\x00\x0f\xf0\x01\xf73\x03\xe6\xbc\x00\x0f\xf0\x01\xf5\x00\x00\x00\xbc\x00\x0f\xf0\x01\xff\xf4\x00\x0b\xf4\x00\x0f\xf0\x01\xf71\x00\x02\xcc\x00\x0f\xf0\x01\xf5\x00\x020o\x00\x0f\xf0\x01\xf5\x00\x06\xf5\xad\x00\x0f\xf0\x01\xf5\x00\x00\xaf\xd5\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',
|
||||
'\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',
|
||||
}
|
||||
|
||||
@ -30,8 +30,15 @@ NUM_GREYS = 16
|
||||
KEY_NFC = '\x0e' # ctrl-N
|
||||
KEY_QR = '\x11' # ctrl-Q
|
||||
KEY_TAB = '\t' # tab = ctrl-I
|
||||
KEY_F1 = '\x0f'
|
||||
KEY_F2 = '\x12'
|
||||
KEY_F3 = '\x13'
|
||||
KEY_F4 = '\x14'
|
||||
KEY_F5 = '\x16'
|
||||
KEY_F6 = '\x17'
|
||||
KEYS_FUNCTION = KEY_F1 + KEY_F2 + KEY_F3 + KEY_F4 + KEY_F5 + KEY_F6
|
||||
|
||||
KEYCAP_SYMBOLS = [ KEY_NFC, KEY_QR, KEY_TAB, ]
|
||||
KEYCAP_SYMBOLS = [ KEY_NFC, KEY_QR, KEY_TAB ] + list(KEYS_FUNCTION)
|
||||
|
||||
# TODO:
|
||||
# - needed _ but for blank space; never found one, and may not need anyway
|
||||
@ -45,14 +52,12 @@ CHARSET = [chr(x) for x in range(32,127)] \
|
||||
'™', '©', '⬧', '※',
|
||||
'─', '—',
|
||||
'━', '┃', '┓', '┏', '┛','┗', # 'heavy' versions
|
||||
KEY_NFC, KEY_QR, KEY_TAB,
|
||||
]
|
||||
] + KEYCAP_SYMBOLS
|
||||
|
||||
# these are be better as double-wide chars
|
||||
DBL_WIDTH = ['⋯', '✔', '✓','→', '←', '↦',
|
||||
'◉', '◯', '◌', '※', '•', '—',
|
||||
KEY_NFC, KEY_QR, KEY_TAB,
|
||||
]
|
||||
] + KEYCAP_SYMBOLS
|
||||
|
||||
NUM_CHARS = len(CHARSET)
|
||||
|
||||
@ -63,6 +68,8 @@ REMAPS = {
|
||||
KEY_QR: 'QR',
|
||||
KEY_TAB: '↦',
|
||||
}
|
||||
for n, fn in enumerate(KEYS_FUNCTION):
|
||||
REMAPS[fn] = f'F{n+1}'
|
||||
|
||||
# find hidden zero-width junk
|
||||
assert all(len(ch) == 1 for ch in CHARSET), [ch for ch in CHARSET if len(ch) > 1]
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.8 KiB |
Loading…
Reference in New Issue
Block a user