From de6867e1fd35d2cf12d92e592552ee5d9a6f3dba Mon Sep 17 00:00:00 2001 From: lifning <> Date: Tue, 18 Jan 2022 23:21:23 -0800 Subject: [PATCH] initial import w/ custom lowercase glyphs added in bitfontmaker after the fact --- ZFont.ttf | Bin 0 -> 15520 bytes ZFont_20220118.txt | 1 + zfont-bitfont.py | 22 ++ zfont.txt | 847 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 870 insertions(+) create mode 100644 ZFont.ttf create mode 100644 ZFont_20220118.txt create mode 100644 zfont-bitfont.py create mode 100644 zfont.txt diff --git a/ZFont.ttf b/ZFont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..24e92fdcf5f03b87a66bac0573eaebd015de462c GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/ZFont_20220118.txt b/ZFont_20220118.txt new file mode 100644 index 0000000..fe0fc1d --- /dev/null +++ b/ZFont_20220118.txt @@ -0,0 +1 @@ +{"33":[0,0,0,0,0,0,0,16,16,16,0,16,0,0,0,0],"34":[0,0,0,0,0,0,0,72,36,0,0,0,0,0,0,0],"35":[0,0,0,0,0,0,0,40,124,40,124,40,0,0,0,0],"36":[0,0,0,0,0,0,0,120,20,56,80,60,0,0,0,0],"37":[0,0,0,0,0,0,0,68,32,16,8,68,0,0,0,0],"38":[0,0,0,0,0,0,0,24,100,56,100,88,0,0,0,0],"39":[0,0,0,0,0,0,0,16,8,0,0,0,0,0,0,0],"40":[0,0,0,0,0,0,0,48,8,8,8,48,0,0,0,0],"41":[0,0,0,0,0,0,0,24,32,32,32,24,0,0,0,0],"42":[0,0,0,0,0,0,0,84,56,124,56,84,0,0,0,0],"43":[0,0,0,0,0,0,0,16,16,124,16,16,0,0,0,0],"44":[0,0,0,0,0,0,0,0,0,0,16,8,0,0,0,0],"45":[0,0,0,0,0,0,0,0,0,124,0,0,0,0,0,0],"46":[0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0],"47":[0,0,0,0,0,0,0,64,32,16,8,4,0,0,0,0],"48":[0,0,0,0,0,0,0,56,100,84,76,56,0,0,0,0],"49":[0,0,0,0,0,0,0,16,24,16,16,56,0,0,0,0],"50":[0,0,0,0,0,0,0,56,68,48,8,124,0,0,0,0],"51":[0,0,0,0,0,0,0,56,68,48,68,56,0,0,0,0],"52":[0,0,0,0,0,0,0,40,36,124,32,32,0,0,0,0],"53":[0,0,0,0,0,0,0,124,4,60,64,60,0,0,0,0],"54":[0,0,0,0,0,0,0,56,4,60,68,56,0,0,0,0],"55":[0,0,0,0,0,0,0,124,64,32,32,32,0,0,0,0],"56":[0,0,0,0,0,0,0,56,68,56,68,56,0,0,0,0],"57":[0,0,0,0,0,0,0,56,68,120,64,56,0,0,0,0],"58":[0,0,0,0,0,0,0,0,16,0,16,0,0,0,0,0],"59":[0,0,0,0,0,0,0,0,16,0,16,8,0,0,0,0],"60":[0,0,0,0,0,0,0,32,16,8,16,32,0,0,0,0],"61":[0,0,0,0,0,0,0,0,124,0,124,0,0,0,0,0],"62":[0,0,0,0,0,0,0,8,16,32,16,8,0,0,0,0],"63":[0,0,0,0,0,0,0,56,68,48,0,16,0,0,0,0],"64":[0,0,0,0,0,0,0,56,100,116,4,56,0,0,0,0],"65":[0,0,0,0,0,0,0,56,68,124,68,68,0,0,0,0],"66":[0,0,0,0,0,0,0,60,68,60,68,60,0,0,0,0],"67":[0,0,0,0,0,0,0,56,68,4,68,56,0,0,0,0],"68":[0,0,0,0,0,0,0,60,68,68,68,60,0,0,0,0],"69":[0,0,0,0,0,0,0,124,4,60,4,124,0,0,0,0],"70":[0,0,0,0,0,0,0,124,4,60,4,4,0,0,0,0],"71":[0,0,0,0,0,0,0,120,4,100,68,56,0,0,0,0],"72":[0,0,0,0,0,0,0,68,68,124,68,68,0,0,0,0],"73":[0,0,0,0,0,0,0,124,16,16,16,124,0,0,0,0],"74":[0,0,0,0,0,0,0,120,32,32,36,24,0,0,0,0],"75":[0,0,0,0,0,0,0,36,20,28,36,68,0,0,0,0],"76":[0,0,0,0,0,0,0,4,4,4,4,124,0,0,0,0],"77":[0,0,0,0,0,0,0,108,84,84,84,68,0,0,0,0],"78":[0,0,0,0,0,0,0,76,84,84,84,100,0,0,0,0],"79":[0,0,0,0,0,0,0,56,68,68,68,56,0,0,0,0],"80":[0,0,0,0,0,0,0,60,68,60,4,4,0,0,0,0],"81":[0,0,0,0,0,0,0,56,68,84,36,88,0,0,0,0],"82":[0,0,0,0,0,0,0,60,68,60,36,68,0,0,0,0],"83":[0,0,0,0,0,0,0,120,4,56,64,60,0,0,0,0],"84":[0,0,0,0,0,0,0,124,16,16,16,16,0,0,0,0],"85":[0,0,0,0,0,0,0,68,68,68,68,56,0,0,0,0],"86":[0,0,0,0,0,0,0,68,68,40,40,16,0,0,0,0],"87":[0,0,0,0,0,0,0,68,84,84,84,40,0,0,0,0],"88":[0,0,0,0,0,0,0,68,40,16,40,68,0,0,0,0],"89":[0,0,0,0,0,0,0,68,40,16,16,16,0,0,0,0],"90":[0,0,0,0,0,0,0,124,32,16,8,124,0,0,0,0],"91":[0,0,0,0,0,0,0,56,8,8,8,56,0,0,0,0],"92":[0,0,0,0,0,0,0,4,8,16,32,64,0,0,0,0],"93":[0,0,0,0,0,0,0,56,32,32,32,56,0,0,0,0],"94":[0,0,0,0,0,0,0,16,40,0,0,0,0,0,0,0],"95":[0,0,0,0,0,0,0,0,0,0,0,124,0,0,0,0],"96":[0,0,0,0,0,0,0,8,16,0,0,0,0,0,0,0],"97":[0,0,0,0,0,0,0,0,120,68,100,88,0,0,0,0],"98":[0,0,0,0,0,0,0,4,52,76,68,60,0,0,0,0],"99":[0,0,0,0,0,0,0,0,120,4,4,120,0,0,0,0],"100":[0,0,0,0,0,0,0,64,88,100,68,120,0,0,0,0],"101":[0,0,0,0,0,0,0,0,24,36,20,120,0,0,0,0],"102":[0,0,0,0,0,0,0,112,8,124,8,8,0,0,0,0],"103":[0,0,0,0,0,0,0,0,96,80,100,56,0,0,0,0],"104":[0,0,0,0,0,0,0,4,4,60,68,68,0,0,0,0],"105":[0,0,0,0,0,0,0,16,0,24,16,56,0,0,0,0],"106":[0,0,0,0,0,0,0,32,0,32,36,24,0,0,0,0],"107":[0,0,0,0,0,0,0,4,68,36,28,100,0,0,0,0],"108":[0,0,0,0,0,0,0,24,16,16,16,48,0,0,0,0],"109":[0,0,0,0,0,0,0,0,44,84,84,68,0,0,0,0],"110":[0,0,0,0,0,0,0,0,60,68,68,68,0,0,0,0],"111":[0,0,0,0,0,0,0,0,56,68,68,56,0,0,0,0],"112":[0,0,0,0,0,0,0,0,56,68,60,4,0,0,0,0],"113":[0,0,0,0,0,0,0,0,56,36,56,96,0,0,0,0],"114":[0,0,0,0,0,0,0,0,52,72,8,28,0,0,0,0],"115":[0,0,0,0,0,0,0,0,112,24,32,28,0,0,0,0],"116":[0,0,0,0,0,0,0,8,124,8,8,112,0,0,0,0],"117":[0,0,0,0,0,0,0,0,68,68,68,120,0,0,0,0],"118":[0,0,0,0,0,0,0,0,68,68,40,16,0,0,0,0],"119":[0,0,0,0,0,0,0,0,68,84,84,40,0,0,0,0],"120":[0,0,0,0,0,0,0,0,76,48,24,100,0,0,0,0],"121":[0,0,0,0,0,0,0,0,68,40,16,12,0,0,0,0],"122":[0,0,0,0,0,0,0,0,60,16,8,124,0,0,0,0],"123":[0,0,0,0,0,0,0,48,8,12,8,48,0,0,0,0],"124":[0,0,0,0,0,0,0,16,16,0,16,16,0,0,0,0],"125":[0,0,0,0,0,0,0,24,32,96,32,24,0,0,0,0],"126":[0,0,0,0,0,0,0,88,36,0,0,0,0,0,0,0],"189":[0,0,0,0,0,0,0,112,16,48,64,52,0,0,0,0],"8592":[0,0,0,0,0,0,0,16,24,124,24,16,0,0,0,0],"8595":[0,0,0,0,0,0,0,16,16,84,56,16,0,0,0,0],"9633":[0,0,0,0,0,0,0,124,68,68,68,124,0,0,0,0],"9650":[0,0,0,0,0,0,0,16,16,56,56,124,0,0,0,0],"9654":[0,0,0,0,0,0,0,4,28,124,28,4,0,0,0,0],"9660":[0,0,0,0,0,0,0,124,56,56,16,16,0,0,0,0],"9664":[0,0,0,0,0,0,0,64,112,124,112,64,0,0,0,0],"12289":[0,0,0,0,0,0,0,0,0,0,8,16,0,0,0,0],"12290":[0,0,0,0,0,0,0,0,0,16,40,16,0,0,0,0],"12300":[0,0,0,0,0,0,0,56,8,8,8,0,0,0,0,0],"12301":[0,0,0,0,0,0,0,0,32,32,32,56,0,0,0,0],"12443":[0,0,0,0,0,0,0,20,20,0,0,0,0,0,0,0],"12444":[0,0,0,0,0,0,0,8,20,8,0,0,0,0,0,0],"12449":[0,0,0,0,0,0,0,0,124,40,24,8,0,0,0,0],"12450":[0,0,0,0,0,0,0,124,80,48,16,12,0,0,0,0],"12451":[0,0,0,0,0,0,0,0,32,16,28,16,0,0,0,0],"12452":[0,0,0,0,0,0,0,64,48,28,16,16,0,0,0,0],"12453":[0,0,0,0,0,0,0,0,16,124,68,48,0,0,0,0],"12454":[0,0,0,0,0,0,0,16,124,68,32,24,0,0,0,0],"12455":[0,0,0,0,0,0,0,0,0,124,16,124,0,0,0,0],"12456":[0,0,0,0,0,0,0,124,16,16,16,124,0,0,0,0],"12457":[0,0,0,0,0,0,0,0,32,124,48,44,0,0,0,0],"12458":[0,0,0,0,0,0,0,32,124,48,40,36,0,0,0,0],"12459":[0,0,0,0,0,0,0,8,124,72,72,100,0,0,0,0],"12461":[0,0,0,0,0,0,0,16,124,16,124,16,0,0,0,0],"12463":[0,0,0,0,0,0,0,8,120,68,32,24,0,0,0,0],"12465":[0,0,0,0,0,0,0,8,120,36,32,24,0,0,0,0],"12467":[0,0,0,0,0,0,0,124,64,64,64,124,0,0,0,0],"12469":[0,0,0,0,0,0,0,40,124,40,32,24,0,0,0,0],"12471":[0,0,0,0,0,0,0,8,84,72,32,28,0,0,0,0],"12473":[0,0,0,0,0,0,0,124,64,32,48,76,0,0,0,0],"12475":[0,0,0,0,0,0,0,8,124,40,8,112,0,0,0,0],"12477":[0,0,0,0,0,0,0,68,72,64,32,24,0,0,0,0],"12479":[0,0,0,0,0,0,0,8,120,76,48,24,0,0,0,0],"12481":[0,0,0,0,0,0,0,124,16,124,16,8,0,0,0,0],"12483":[0,0,0,0,0,0,0,0,84,84,32,24,0,0,0,0],"12484":[0,0,0,0,0,0,0,84,84,64,32,24,0,0,0,0],"12486":[0,0,0,0,0,0,0,124,0,124,16,12,0,0,0,0],"12488":[0,0,0,0,0,0,0,8,8,24,40,8,0,0,0,0],"12490":[0,0,0,0,0,0,0,16,124,16,16,8,0,0,0,0],"12491":[0,0,0,0,0,0,0,60,0,0,0,124,0,0,0,0],"12492":[0,0,0,0,0,0,0,124,64,80,32,88,0,0,0,0],"12493":[0,0,0,0,0,0,0,16,124,64,56,84,0,0,0,0],"12494":[0,0,0,0,0,0,0,64,64,64,32,24,0,0,0,0],"12495":[0,0,0,0,0,0,0,40,40,40,68,68,0,0,0,0],"12498":[0,0,0,0,0,0,0,4,100,28,4,120,0,0,0,0],"12501":[0,0,0,0,0,0,0,124,64,64,32,24,0,0,0,0],"12504":[0,0,0,0,0,0,0,8,20,36,64,0,0,0,0,0],"12507":[0,0,0,0,0,0,0,16,124,56,84,16,0,0,0,0],"12510":[0,0,0,0,0,0,0,124,64,36,24,16,0,0,0,0],"12511":[0,0,0,0,0,0,0,124,0,124,0,124,0,0,0,0],"12512":[0,0,0,0,0,0,0,16,8,8,36,124,0,0,0,0],"12513":[0,0,0,0,0,0,0,64,72,48,48,76,0,0,0,0],"12514":[0,0,0,0,0,0,0,124,16,124,16,112,0,0,0,0],"12515":[0,0,0,0,0,0,0,0,8,124,40,8,0,0,0,0],"12516":[0,0,0,0,0,0,0,8,252,72,16,16,0,0,0,0],"12517":[0,0,0,0,0,0,0,0,0,60,32,124,0,0,0,0],"12518":[0,0,0,0,0,0,0,60,32,32,32,124,0,0,0,0],"12519":[0,0,0,0,0,0,0,0,124,64,120,124,0,0,0,0],"12520":[0,0,0,0,0,0,0,124,64,124,64,124,0,0,0,0],"12521":[0,0,0,0,0,0,0,124,0,124,32,24,0,0,0,0],"12522":[0,0,0,0,0,0,0,68,68,68,32,24,0,0,0,0],"12523":[0,0,0,0,0,0,0,24,24,88,88,52,0,0,0,0],"12524":[0,0,0,0,0,0,0,4,4,68,68,60,0,0,0,0],"12525":[0,0,0,0,0,0,0,124,68,68,68,124,0,0,0,0],"12527":[0,0,0,0,0,0,0,124,68,64,32,24,0,0,0,0],"12530":[0,0,0,0,0,0,0,124,64,60,16,12,0,0,0,0],"12531":[0,0,0,0,0,0,0,4,72,64,32,28,0,0,0,0],"12539":[0,0,0,0,0,0,0,0,16,56,16,0,0,0,0,0],"12540":[0,0,0,0,0,0,0,0,4,120,0,0,0,0,0,0],"128469":[0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0],"128470":[0,0,0,0,0,0,0,252,132,252,0,0,0,0,0,0],"name":"ZFont","copy":"lifning","letterspace":"64","basefont_size":"200","basefont_left":"62","basefont_top":"0","basefont":"Courier","basefont2":"","monospace":true,"monospacewidth":"6","ascender":"5","descender":"1"} \ No newline at end of file diff --git a/zfont-bitfont.py b/zfont-bitfont.py new file mode 100644 index 0000000..0b8271d --- /dev/null +++ b/zfont-bitfont.py @@ -0,0 +1,22 @@ + +true = True +false = False + +s = ''' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-_~./<>[]:&↓#="\*?%+,()@'!$;`^{}▲▼◀▶←½🗖🗕□。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜''' +it = iter(s) + +d = {} +f = open('zfont.txt', 'r') +for line in f: + if line.startswith(';'): + c = str(ord(next(it))) + d[c] = [0, 0, 0, 0, 0, 0, 0] + elif not line.startswith('EOF'): + d[c].append(4 * int(line.strip()[::-1], 2)) + +for k in d: + d[k].extend([0, 0, 0, 0]) + +d.update({"name":"ZFONT","copy":"","letterspace":"64","basefont_size":"200","basefont_left":"62","basefont_top":"0","basefont":"Courier","basefont2":"","monospace":true,"monospacewidth":"6","ascender":"5","descender":"0"}) +import json +print(json.dumps(d)) diff --git a/zfont.txt b/zfont.txt new file mode 100644 index 0000000..f376e28 --- /dev/null +++ b/zfont.txt @@ -0,0 +1,847 @@ +; empty space 0x00 +00000000 +00000000 +00000000 +00000000 +00000000 +; 0 0x01 +01110000 +10011000 +10101000 +11001000 +01110000 +; 1 0x02 +00100000 +01100000 +00100000 +00100000 +01110000 +; 2 0x03 +01110000 +10001000 +00110000 +01000000 +11111000 +; 3 0x04 +01110000 +10001000 +00110000 +10001000 +01110000 +; 4 0x05 +01010000 +10010000 +11111000 +00010000 +00010000 +; 5 0x06 +11111000 +10000000 +11110000 +00001000 +11110000 +; 6 0x07 +01110000 +10000000 +11110000 +10001000 +01110000 +; 7 0x08 +11111000 +00001000 +00010000 +00010000 +00010000 +; 8 0x09 +01110000 +10001000 +01110000 +10001000 +01110000 +; 9 0x0A +01110000 +10001000 +01111000 +00001000 +01110000 +; A 0x0B +01110000 +10001000 +11111000 +10001000 +10001000 +; B 0x0C +11110000 +10001000 +11110000 +10001000 +11110000 +; C 0x0D +01110000 +10001000 +10000000 +10001000 +01110000 +; D 0x0E +11110000 +10001000 +10001000 +10001000 +11110000 +; E 0x0F +11111000 +10000000 +11110000 +10000000 +11111000 +; F 0x10 +11111000 +10000000 +11110000 +10000000 +10000000 +; G 0x11 +01111000 +10000000 +10011000 +10001000 +01110000 +; H 0x12 +10001000 +10001000 +11111000 +10001000 +10001000 +; I 0x13 +11111000 +00100000 +00100000 +00100000 +11111000 +; J 0x14 +01111000 +00010000 +00010000 +10010000 +01100000 +; K 0x15 +10010000 +10100000 +11100000 +10010000 +10001000 +; L 0x16 +10000000 +10000000 +10000000 +10000000 +11111000 +; M 0x17 +11011000 +10101000 +10101000 +10101000 +10001000 +; N 0x18 +11001000 +10101000 +10101000 +10101000 +10011000 +; O 0x19 +01110000 +10001000 +10001000 +10001000 +01110000 +; P 0x1A +11110000 +10001000 +11110000 +10000000 +10000000 +; Q 0x1B +01110000 +10001000 +10101000 +10010000 +01101000 +; R 0x1C +11110000 +10001000 +11110000 +10010000 +10001000 +; S 0x1D +01111000 +10000000 +01110000 +00001000 +11110000 +; T 0x1E +11111000 +00100000 +00100000 +00100000 +00100000 +; U 0x1F +10001000 +10001000 +10001000 +10001000 +01110000 +; V 0x20 +10001000 +10001000 +01010000 +01010000 +00100000 +; W 0x21 +10001000 +10101000 +10101000 +10101000 +01010000 +; X 0x22 +10001000 +01010000 +00100000 +01010000 +10001000 +; Y 0x23 +10001000 +01010000 +00100000 +00100000 +00100000 +; Z 0x24 +11111000 +00010000 +00100000 +01000000 +11111000 +; - 0x25 +00000000 +00000000 +11111000 +00000000 +00000000 +; _ 0x26 +00000000 +00000000 +00000000 +00000000 +11111000 +; ~ 0x27 +01101000 +10010000 +00000000 +00000000 +00000000 +; . 0x28 +00000000 +00000000 +00000000 +00000000 +00100000 +; / 0x29 +00001000 +00010000 +00100000 +01000000 +10000000 +; < 0x2A +00010000 +00100000 +01000000 +00100000 +00010000 +; > 0x2B +01000000 +00100000 +00010000 +00100000 +01000000 +; [ 0x2C +01110000 +01000000 +01000000 +01000000 +01110000 +; ] 0x2D +01110000 +00010000 +00010000 +00010000 +01110000 +; : 0x2E +00000000 +00100000 +00000000 +00100000 +00000000 +; & 0x2F +01100000 +10011000 +01110000 +10011000 +01101000 +; arrow down 0x30 +00100000 +00100000 +10101000 +01110000 +00100000 +; # 0x31 +01010000 +11111000 +01010000 +11111000 +01010000 +; = 0x32 +00000000 +11111000 +00000000 +11111000 +00000000 +; " 0x33 +01001000 +10010000 +00000000 +00000000 +00000000 +; \ 0x34 +10000000 +01000000 +00100000 +00010000 +00001000 +; * 0x35 +10101000 +01110000 +11111000 +01110000 +10101000 +; ? 0x36 +01110000 +10001000 +00110000 +00000000 +00100000 +; % 0x37 +10001000 +00010000 +00100000 +01000000 +10001000 +; + 0x38 +00100000 +00100000 +11111000 +00100000 +00100000 +; , 0x39 +00000000 +00000000 +00000000 +00100000 +01000000 +; ( 0x3A +00110000 +01000000 +01000000 +01000000 +00110000 +; ) 0x3B +01100000 +00010000 +00010000 +00010000 +01100000 +; @ 0x3C +01110000 +10011000 +10111000 +10000000 +01110000 +; ' 0x3D +00100000 +01000000 +00000000 +00000000 +00000000 +; ! 0x3E +00100000 +00100000 +00100000 +00000000 +00100000 +; $ 0x3F +01111000 +10100000 +01110000 +00101000 +11110000 +; ; 0x40 +00000000 +00100000 +00000000 +00100000 +01000000 +; ` 0x41 +01000000 +00100000 +00000000 +00000000 +00000000 +; ^ 0x42 +00100000 +01010000 +00000000 +00000000 +00000000 +; { 0x43 +00110000 +01000000 +11000000 +01000000 +00110000 +; } 0x44 +01100000 +00010000 +00011000 +00010000 +01100000 +; up 0x45 +00100000 +00100000 +01110000 +01110000 +11111000 +; down 0x46 +11111000 +01110000 +01110000 +00100000 +00100000 +; left 0x47 +00001000 +00111000 +11111000 +00111000 +00001000 +; right 0x48 +10000000 +11100000 +11111000 +11100000 +10000000 +; arrow left 0x49 +00100000 +01100000 +11111000 +01100000 +00100000 +; .5 0x4A +00111000 +00100000 +00110000 +00001000 +10110000 +; maximize (Win) 0x4B +11111100 +10000100 +11111100 +00000000 +00000000 +; minimize (Win) 0x4C +00000000 +11111100 +00000000 +00000000 +00000000 +; maximize (SDL) 0x4D +11111000 +10001000 +10001000 +10001000 +11111000 +; shw fullstop 0x4E +00000000 +00000000 +00100000 +01010000 +00100000 +; shw left bracket 0x4F +01110000 +01000000 +01000000 +01000000 +00000000 +; shw right bracket 0x50 +00000000 +00010000 +00010000 +00010000 +01110000 +; shw comma 0x51 +00000000 +00000000 +00000000 +01000000 +00100000 +; shw mid-dot 0x52 +00000000 +00100000 +01110000 +00100000 +00000000 +; shw wo 0x53 +11111000 +00001000 +11110000 +00100000 +11000000 +; shw mini a 0x54 +00000000 +11111000 +01010000 +01100000 +01000000 +; shw mini i 0x55 +00000000 +00010000 +00100000 +11100000 +00100000 +; shw mini u 0x56 +00000000 +00100000 +11111000 +10001000 +00110000 +; shw mini e 0x57 +00000000 +00000000 +11111000 +00100000 +11111000 +; shw mini o 0x58 +00000000 +00010000 +11111000 +00110000 +11010000 +; shw mini ya 0x59 +00000000 +01000000 +11111000 +01010000 +01000000 +; shw mini yu 0x5A +00000000 +00000000 +11110000 +00010000 +11111000 +; shw mini yo 0x5B +00000000 +11111000 +00001000 +01111000 +11111000 +; shw mini tsu 0x5C +00000000 +10101000 +10101000 +00010000 +01100000 +; shw prolong 0x5D +00000000 +10000000 +01111000 +00000000 +00000000 +; shw a 0x5E +11111000 +00101000 +00110000 +00100000 +11000000 +; shw i 0x5F +00001000 +00110000 +11100000 +00100000 +00100000 +; shw u 0x60 +00100000 +11111000 +10001000 +00010000 +01100000 +; shw e 0x61 +11111000 +00100000 +00100000 +00100000 +11111000 +; shw o 0x62 +00010000 +11111000 +00110000 +01010000 +10010000 +; shw ka 0x63 +01000000 +11111000 +01001000 +01001000 +10011000 +; shw ki 0x64 +00100000 +11111000 +00100000 +11111000 +00100000 +; shw ku 0x65 +01000000 +01111000 +10001000 +00010000 +01100000 +; shw ke 0x66 ^^ +01000000 +01111000 +10010000 +00010000 +01100000 +; shw ko 0x67 +11111000 +00001000 +00001000 +00001000 +11111000 +; shw sa 0x68 +01010000 +11111000 +01010000 +00010000 +01100000 +; shw shi 0x69 +01000000 +10101000 +01001000 +00010000 +11100000 +; shw su 0x6A +11111000 +00001000 +00010000 +00110000 +11001000 +; shw se 0x6B +01000000 +11111000 +01010000 +01000000 +00111000 +; shw so 0x6C +10001000 +01001000 +00001000 +00010000 +01100000 +; shw ta 0x6D +01000000 +01111000 +11001000 +00110000 +01100000 +; shw chi 0x6E +11111000 +00100000 +11111000 +00100000 +01000000 +; shw tsu 0x6F +10101000 +10101000 +00001000 +00010000 +01100000 +; shw te 0x70 +11111000 +00000000 +11111000 +00100000 +11000000 +; shw to 0x71 +01000000 +01000000 +01100000 +01010000 +01000000 +; shw na 0x72 +00100000 +11111000 +00100000 +00100000 +01000000 +; shw ni 0x73 +11110000 +00000000 +00000000 +00000000 +11111000 +; shw nu 0x74 +11111000 +00001000 +00101000 +00010000 +01101000 +; shw ne 0x75 +00100000 +11111000 +00001000 +01110000 +10101000 +; shw no 0x76 +00001000 +00001000 +00001000 +00010000 +01100000 +; shw ha 0x77 +01010000 +01010000 +01010000 +10001000 +10001000 +; shw hi 0x78 +10000000 +10011000 +11100000 +10000000 +01111000 +; shw hu 0x79 +11111000 +00001000 +00001000 +00010000 +01100000 +; shw he 0x7A +01000000 +10100000 +10010000 +00001000 +00000000 +; shw ho 0x7B +00100000 +11111000 +01110000 +10101000 +00100000 +; shw ma 0x7C +11111000 +00001000 +10010000 +01100000 +00100000 +; shw mi 0x7D +11111000 +00000000 +11111000 +00000000 +11111000 +; shw mu 0x7E +00100000 +01000000 +01000000 +10010000 +11111000 +; shw me 0x7F +00001000 +01001000 +00110000 +00110000 +11001000 +; shw mo 0x80 +11111000 +00100000 +11111000 +00100000 +00111000 +; shw ya 0x81 +01000000 +11111100 +01001000 +00100000 +00100000 +; shw yu 0x82 +11110000 +00010000 +00010000 +00010000 +11111000 +; shw yo 0x83 +11111000 +00001000 +11111000 +00001000 +11111000 +; shw ra 0x84 +11111000 +00000000 +11111000 +00010000 +01100000 +; shw ri 0x85 +10001000 +10001000 +10001000 +00010000 +01100000 +; shw ru 0x86 +01100000 +01100000 +01101000 +01101000 +10110000 +; shw re 0x87 +10000000 +10000000 +10001000 +10001000 +11110000 +; shw ro 0x88 +11111000 +10001000 +10001000 +10001000 +11111000 +; shw wa 0x89 +11111000 +10001000 +00001000 +00010000 +01100000 +; shw n 0x8A +10000000 +01001000 +00001000 +00010000 +11100000 +; shw voiced 0x8B +10100000 +10100000 +00000000 +00000000 +00000000 +; shw halfvoiced 0x8C +01000000 +10100000 +01000000 +00000000 +00000000 +EOF