|
|
1.1 root 1: //
2: // nono
1.1.1.3 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
1.1.1.4 root 7: //
8: // LCD (HD44780)
9: //
10:
1.1 root 11: #include "lcd.h"
12:
1.1.1.2 root 13: std::unique_ptr<LCDDevice> gLCD;
1.1 root 14:
15: LCDDevice::LCDDevice()
16: {
17: logname = "lcd";
18: devname = "LCD(HD44780)";
1.1.1.4 root 19: monitor_size = nnSize(67, 3);
1.1 root 20: }
21:
22: LCDDevice::~LCDDevice()
23: {
24: }
25:
26: bool
27: LCDDevice::PowerOff()
28: {
1.1.1.5 root 29: // XXX 電源オフは色を落としたほうがいい
1.1 root 30: memset(ddram, 0x20, sizeof(ddram));
1.1.1.4 root 31: update++;
1.1 root 32: return true;
33: }
34:
35: void
1.1.1.5 root 36: LCDDevice::ResetHard()
37: {
38: // とりあえずモニタ画面での表示を消す
39: memset(ddram, 0x20, sizeof(ddram));
40: // XXX not yet
41: // CGRAM とか信号線とか
42:
43: update++;
44: }
45:
46: void
1.1 root 47: LCDDevice::SetRW(bool val)
48: {
49: rw = val;
50: putlog(2, "R/W = %c", val ? 'R' : 'W');
51: }
52:
53: void
54: LCDDevice::SetRS(int val)
55: {
56: rs = val;
57: putlog(2, "RS = %d", rs);
58: }
59:
60: void
61: LCDDevice::SetE(bool val)
62: {
63: en = val;
64: putlog(2, "E = %d", en);
65: }
66:
67: // E, RS, R/W 線の状態を取得する (PIO1 のポートC 読み込み用)
68: uint8
69: LCDDevice::Get() const
70: {
71: return (en ? 0x80 : 0)
72: | (rs >> 6)
73: | (rw ? 0x20 : 0);
74: }
75:
76: uint8
77: LCDDevice::Read()
78: {
79: if (en == false || rw == false) {
80: // XXX どうなるんだろ
81: return 0xff;
82: }
83: if (rs == 0) {
84: // ステータスレジスタの読み込み
85: // B A A A A A A A
86: // | +-+-+-+-+-+-+-- アドレスカウンタ
87: // +---------------- ビジーフラグ %1=BUSY
88:
89: // XXX ビジーは未実装
1.1.1.4 root 90: return (addr & 0x7f);
1.1 root 91: } else {
92: putlog(0, "未実装データ読み込み");
93: }
94: return 0xff;
95: }
96:
97: void
98: LCDDevice::Write(uint8 data)
99: {
100: if (en == false || rw == true) {
101: // どうなるんだろ
102: return;
103: }
104: if (rs == 0) {
105: // コマンド書き込み
1.1.1.4 root 106:
1.1 root 107: if ((data & 0x80)) {
1.1.1.4 root 108: addr = data;
109: putlog(1, "DDRAM アドレスセット $%02x", addr & 0x7f);
1.1 root 110: } else if ((data & 0x40)) {
1.1.1.4 root 111: addr = data;
112: putlog(1, "CGRAM アドレスセット $%02x", addr & 0x3f);
1.1 root 113: } else if ((data & 0x20)) {
114: // ファンクション・セット
115: // 0x38 (8ビットバス、2行表示、8ライン/行)モードのみサポート
116: if (data != 0x38) {
117: putlog(0, "コマンド書き込み $%02x ファンクションセット(未実装)",
118: data);
119: }
120: } else if ((data & 0x10)) {
121: // カーソル移動
122: putlog(0, "コマンド書き込み $%02x カーソル移動(未実装)", data);
123: } else if ((data & 0x08)) {
124: // 表示ON/OFF
125: // 文字表示 ON/OFF のみサポート
126: disp_char = (data & 0x04);
127: // XXX それ以外は未サポート
128: } else if ((data & 0x04)) {
129: // エントリモード
130: addr_inc = (data & 0x02);
131: // XXX 表示シフトは未サポート
132: } else if ((data & 0x02)) {
133: // カーソルホーム
1.1.1.4 root 134: addr = 0x40;
1.1 root 135: } else if ((data & 0x01)) {
136: // 表示クリア
137: memset(ddram, 0x20, sizeof(ddram));
1.1.1.4 root 138: addr = 0x40;
139: update++;
1.1 root 140: } else {
141: // $00 が書き込まれるんだけど、データシートにはないんだよね。
142: // 無視していいかな。
143: putlog(2, "未定義書き込み $%02x", data);
144: }
145: } else {
1.1.1.4 root 146: if ((addr & 0x80)) {
147: putlog(1, "DDRAM データ書き込み X=%d Y=%d <- $%02x",
148: (addr & 0x7f) % 0x40, (addr & 0x7f) / 0x40, data);
149: } else {
150: putlog(1, "CGRAM データ書き込み $%02x <- $%02x", addr & 0x3f, data);
151: }
152: ram[addr] = data;
153: update++;
1.1 root 154: // アドレス更新
1.1.1.4 root 155: // DDRAM は各行 0x27 までしか存在していないが、stride が 0x40 バイト。
156: // XXX CGRAM が折り返すかどうかは分からないがそのまま DDRAM 領域に
157: // 行っても困ると思うのでとりあえず。
1.1 root 158: if (addr_inc) {
159: addr++;
1.1.1.4 root 160: if (addr == 0x80) // CGRAM (XXX)
1.1 root 161: addr = 0x40;
1.1.1.4 root 162: else if (addr == 0x80 + 0x28) // DDRAM 1行目
163: addr = 0x80 + 0x40;
164: else if (addr == 0x80 + 0x68) // DDRAM 2行目
165: addr = 0x80 + 0;
1.1 root 166: } else {
167: addr--;
1.1.1.4 root 168: if (addr == 0x3f) // CGRAM (XXX)
169: addr = 0x7f;
170: else if (addr == 0x7f) // DDRAM 1行目
171: addr = 0x80 + 0x67;
172: else if (addr == 0x80 + 0x3f) // DDRAM 2行目
173: addr = 0x80 + 0x27;
1.1 root 174: }
175: }
176: }
177:
1.1.1.2 root 178: // PIO1 からのピーク用
179: uint8
180: LCDDevice::Peek() const
181: {
182: if (en == false || rw == false) {
183: // XXX どうなるんだろ
184: return 0xff;
185: }
186: if (rs == 0) {
1.1.1.4 root 187: // XXX ?
188: return (addr & 0x7f);
1.1.1.2 root 189: } else {
190: // データ読み込みは未実装
191: }
192: return 0xff;
193: }
194:
1.1.1.4 root 195: void
196: LCDDevice::MonitorUpdate(TextScreen &monitor)
1.1 root 197: {
198: char buf[17];
199:
1.1.1.4 root 200: // 0 1 2 3 4 5 6
201: // 01234567890123456789012345678901234567890123456789012345678901234567
202: // RW=R RS=0 E=0
203: // 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f |0123456789abcdef|
204: // 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f |0123456789abcdef|
205:
1.1 root 206: monitor.Clear();
1.1.1.4 root 207: monitor.Print(0, 0, "RW=%c RS=%d E=%d", rw ? 'R' : 'W', rs, en);
1.1 root 208:
209: for (int y = 0; y < 2; y++) {
210: memcpy(buf, &ddram[y * 0x40], 16);
211: buf[16] = '\0';
1.1.1.4 root 212: // 16進を表示する端から文字ダンプ用に加工していく
213: for (int x = 0; x < 16; x++) {
214: monitor.Print(x * 3 + (x / 8), y + 1, "%02x", buf[x]);
215: if (buf[x] < 0x20 || buf[x] > 0x7e) {
216: buf[x] = '.';
217: }
218: }
219: monitor.Print(49, y + 1, "|%-16s|", buf);
1.1 root 220: }
221: }
1.1.1.4 root 222:
223: // CGROM は ROM A00 版のみ考慮する (A02 版との共存は今の所考えない)。
224: // A00 版は以下のような配置になっている。
225: //
226: // +0+1+2+3+4+5+6+7+8+9+a+b+c+d+e+f
227: // 0x00 <------------ CGRAM ----------->
228: // 0x10
229: // 0x20 ! " # $ % & ' ( ) * + , - . /
230: // 0x30 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
231: // 0x40 @ A B C D E F G H I J K L M N O
232: // 0x50 P Q R S T U V W X Y Z [ \ ] ^ _
233: // 0x60 ` a b c d e f g h i j k l m n o
234: // 0x70 p q r s t u v w x y z { | } →←
235: // 0x80
236: // 0x90
237: // 0xa0 。「」、・ヲァィゥェォャュョッ
238: // 0xb0 ーアイウエオカキクケコサシスセソ
239: // 0xc0 タチツテトナニヌネノハヒフヘホマ
240: // 0xd0 ミムメモヤユヨラリルレロワン゛゜
241: // 0xe0 <---- 5x10 ギリシャ文字など --->
242: // 0xf0 <---- 5x10 ギリシャ文字など --->
243: //
244: // 0x00 〜 0x07 は 8文字の CGRAM で、0x08 〜 0x0f には同じものが見える。
245: // 0x20〜0x7f と 0xa0〜0xdf までが 5x7 フォント、
246: // 0xe0〜0xff は 5x7 フォントと 5x10 フォントが混在している。
247: // 5x7 フォントは、メモリとしては 5x8 分(8バイト) を使用し、一番下のラインを
248: // 常に空白としておく (LCD の1行自体が 5x8 で構成されており、一番下が
249: // カーソル用に予約されているため)。
250: // 一方 5x10 フォントのカーソルはこのフォントの一つ下に表示するので 5x11
251: // フォントのうち一番下のラインがカーソル用とも言える。5x10 モードはサポート
252: // しないので、サイズを揃えるため上から 5x8 分のデータだけを保持することにする。
253: // (5x10 モードをサポートする時になんとかすること)
254: //
255: // 空き領域が多いこと、どのみち CGRAM 部分を考慮する必要があること、それと
256: // もし 5x10 モードをサポートする場合には途中でライン数が変わることなどから、
257: // フォントデータの取得は生データに直接アクセスさせるのではなく、1文字ずつ
258: // フォントデータのアドレスを返す方式にする。
259:
260: // 文字コード ch のフォントデータ(の先頭アドレス) を取得する。
261: //
262: // 連続する 8 バイトがフォントデータで、下位側(右側) 5ビットのみ有効。
263: // 9バイト目が次の文字の1バイト目であることは保証していないので必ず1文字ごと
264: // に呼び出すこと。また CGRAM 領域のように動的に変化する場合もあるため
265: // 呼び出し側でこの読み出し値をキャッシュしないこと。
266: const uint8 *
267: LCDDevice::GetFont(int ch) const
268: {
269: // CGRAM 部分
270: if (ch < 0x10) {
271: ch &= 0x07;
272: return &cgram[ch * 8];
273: }
274:
275: if (ch < 0x20) {
276: return &CGROM[0]; // space
277: }
278:
279: // ASCII 部分
280: if (ch < 0x80) {
281: return &CGROM[(ch - 0x20) * 8];
282: }
283:
284: if (ch < 0xa0) {
285: return &CGROM[0]; // space
286: }
287:
288: // カナ以降
289: return &CGROM[(ch - 0xa0 + 0x60) * 8];
290: }
291:
292: /*static*/ const uint8 LCDDevice::CGROM[12 * 16 * 8] =
293: {
294: 0b000'00000, // 0x20 space
295: 0b000'00000,
296: 0b000'00000,
297: 0b000'00000,
298: 0b000'00000,
299: 0b000'00000,
300: 0b000'00000,
301: 0,
302:
303: 0b000'00100, // 0x21 !
304: 0b000'00100,
305: 0b000'00100,
306: 0b000'00100,
307: 0b000'00100,
308: 0b000'00000,
309: 0b000'00100,
310: 0,
311:
312: 0b000'01010, // 0x22 "
313: 0b000'01010,
314: 0b000'00000,
315: 0b000'00000,
316: 0b000'00000,
317: 0b000'00000,
318: 0b000'00000,
319: 0,
320:
321: 0b000'01010, // 0x23 #
322: 0b000'01010,
323: 0b000'11111,
324: 0b000'01010,
325: 0b000'11111,
326: 0b000'01010,
327: 0b000'01010,
328: 0,
329:
330: 0b000'00100, // 0x24 $
331: 0b000'01110,
332: 0b000'10100,
333: 0b000'01110,
334: 0b000'00101,
335: 0b000'01110,
336: 0b000'00100,
337: 0,
338:
339: 0b000'11000, // 0x25 %
340: 0b000'11001,
341: 0b000'00010,
342: 0b000'00100,
343: 0b000'01011,
344: 0b000'10011,
345: 0b000'00000,
346: 0,
347:
348: 0b000'01100, // 0x26 &
349: 0b000'10010,
350: 0b000'10100,
351: 0b000'01000,
352: 0b000'10100,
353: 0b000'10010,
354: 0b000'01101,
355: 0,
356:
357: 0b000'01100, // 0x27 '
358: 0b000'00100,
359: 0b000'01000,
360: 0b000'00000,
361: 0b000'00000,
362: 0b000'00000,
363: 0b000'00000,
364: 0,
365:
366: 0b000'00010, // 0x28 (
367: 0b000'00100,
368: 0b000'01000,
369: 0b000'01000,
370: 0b000'01000,
371: 0b000'00100,
372: 0b000'00010,
373: 0,
374:
375: 0b000'01000, // 0x29 )
376: 0b000'00100,
377: 0b000'00010,
378: 0b000'00010,
379: 0b000'00010,
380: 0b000'00100,
381: 0b000'01000,
382: 0,
383:
384: 0b000'00000, // 0x2a *
385: 0b000'00100,
386: 0b000'10101,
387: 0b000'01110,
388: 0b000'10101,
389: 0b000'00100,
390: 0b000'00000,
391: 0,
392:
393: 0b000'00000, // 0x2b +
394: 0b000'00100,
395: 0b000'00100,
396: 0b000'11111,
397: 0b000'00100,
398: 0b000'00100,
399: 0b000'00000,
400: 0,
401:
402: 0b000'00000, // 0x2c ,
403: 0b000'00000,
404: 0b000'00000,
405: 0b000'00000,
406: 0b000'01100,
407: 0b000'00100,
408: 0b000'01000,
409: 0,
410:
411: 0b000'00000, // 0x2d -
412: 0b000'00000,
413: 0b000'00000,
414: 0b000'11111,
415: 0b000'00000,
416: 0b000'00000,
417: 0b000'00000,
418: 0,
419:
420: 0b000'00000, // 0x2e .
421: 0b000'00000,
422: 0b000'00000,
423: 0b000'00000,
424: 0b000'00000,
425: 0b000'01100,
426: 0b000'01100,
427: 0,
428:
429: 0b000'00000, // 0x2f /
430: 0b000'00001,
431: 0b000'00010,
432: 0b000'00100,
433: 0b000'01000,
434: 0b000'10000,
435: 0b000'00000,
436: 0,
437:
438: 0b000'01110, // 0x30 0
439: 0b000'10001,
440: 0b000'10011,
441: 0b000'10101,
442: 0b000'11001,
443: 0b000'10001,
444: 0b000'01110,
445: 0,
446:
447: 0b000'00100, // 0x31 1
448: 0b000'01100,
449: 0b000'00100,
450: 0b000'00100,
451: 0b000'00100,
452: 0b000'00100,
453: 0b000'01110,
454: 0,
455:
456: 0b000'01110, // 0x32 2
457: 0b000'10001,
458: 0b000'10001,
459: 0b000'00010,
460: 0b000'00100,
461: 0b000'01000,
462: 0b000'11111,
463: 0,
464:
465: 0b000'11111, // 0x33 3
466: 0b000'00010,
467: 0b000'00100,
468: 0b000'01110,
469: 0b000'00001,
470: 0b000'10001,
471: 0b000'01110,
472: 0,
473:
474: 0b000'00010, // 0x34 4
475: 0b000'00110,
476: 0b000'01010,
477: 0b000'10010,
478: 0b000'11111,
479: 0b000'00010,
480: 0b000'00010,
481: 0,
482:
483: 0b000'11111, // 0x35 5
484: 0b000'10000,
485: 0b000'10000,
486: 0b000'11110,
487: 0b000'00001,
488: 0b000'10001,
489: 0b000'01110,
490: 0,
491:
492: 0b000'00110, // 0x36 6
493: 0b000'01000,
494: 0b000'10000,
495: 0b000'11110,
496: 0b000'10001,
497: 0b000'10001,
498: 0b000'01110,
499: 0,
500:
501: 0b000'11111, // 0x37 7
502: 0b000'00001,
503: 0b000'00010,
504: 0b000'00100,
505: 0b000'00100,
506: 0b000'00100,
507: 0b000'00100,
508: 0,
509:
510: 0b000'01110, // 0x38 8
511: 0b000'10001,
512: 0b000'10001,
513: 0b000'01110,
514: 0b000'10001,
515: 0b000'10001,
516: 0b000'01110,
517: 0,
518:
519: 0b000'01110, // 0x39 9
520: 0b000'10001,
521: 0b000'10001,
522: 0b000'01111,
523: 0b000'00001,
524: 0b000'00010,
525: 0b000'01100,
526: 0,
527:
528: 0b000'00000, // 0x3a :
529: 0b000'01100,
530: 0b000'01100,
531: 0b000'00000,
532: 0b000'01100,
533: 0b000'01100,
534: 0b000'00000,
535: 0,
536:
537: 0b000'00000, // 0x3b ;
538: 0b000'01100,
539: 0b000'01100,
540: 0b000'00000,
541: 0b000'01100,
542: 0b000'00100,
543: 0b000'01000,
544: 0,
545:
546: 0b000'00010, // 0x3c <
547: 0b000'00100,
548: 0b000'01000,
549: 0b000'10000,
550: 0b000'01000,
551: 0b000'00100,
552: 0b000'00010,
553: 0,
554:
555: 0b000'00000, // 0x3d =
556: 0b000'00000,
557: 0b000'11111,
558: 0b000'00000,
559: 0b000'11111,
560: 0b000'00000,
561: 0b000'00000,
562: 0,
563:
564: 0b000'01000, // 0x3e >
565: 0b000'00100,
566: 0b000'00010,
567: 0b000'00001,
568: 0b000'00010,
569: 0b000'00100,
570: 0b000'01000,
571: 0,
572:
573: 0b000'01110, // 0x3f ?
574: 0b000'10001,
575: 0b000'00001,
576: 0b000'00010,
577: 0b000'00100,
578: 0b000'00000,
579: 0b000'00100,
580: 0,
581:
582: 0b000'01110, // 0x40 @
583: 0b000'10001,
584: 0b000'00001,
585: 0b000'01101,
586: 0b000'10101,
587: 0b000'10101,
588: 0b000'01110,
589: 0,
590:
591: 0b000'01110, // 0x41 A
592: 0b000'10001,
593: 0b000'10001,
594: 0b000'10001,
595: 0b000'11111,
596: 0b000'10001,
597: 0b000'10001,
598: 0,
599:
600: 0b000'11110, // 0x42 B
601: 0b000'10001,
602: 0b000'10001,
603: 0b000'11110,
604: 0b000'10001,
605: 0b000'10001,
606: 0b000'11110,
607: 0,
608:
609: 0b000'01110, // 0x43 C
610: 0b000'10001,
611: 0b000'10000,
612: 0b000'10000,
613: 0b000'10000,
614: 0b000'10001,
615: 0b000'01110,
616: 0,
617:
618: 0b000'11100, // 0x44 D
619: 0b000'10010,
620: 0b000'10001,
621: 0b000'10001,
622: 0b000'10001,
623: 0b000'10010,
624: 0b000'11100,
625: 0,
626:
627: 0b000'11111, // 0x45 E
628: 0b000'10000,
629: 0b000'10000,
630: 0b000'11110,
631: 0b000'10000,
632: 0b000'10000,
633: 0b000'11111,
634: 0,
635:
636: 0b000'11111, // 0x46 F
637: 0b000'10000,
638: 0b000'10000,
639: 0b000'11110,
640: 0b000'10000,
641: 0b000'10000,
642: 0b000'10000,
643: 0,
644:
645: 0b000'01110, // 0x47 G
646: 0b000'10001,
647: 0b000'10000,
648: 0b000'10011,
649: 0b000'10001,
650: 0b000'10001,
651: 0b000'01110,
652: 0,
653:
654: 0b000'10001, // 0x48 H
655: 0b000'10001,
656: 0b000'10001,
657: 0b000'11111,
658: 0b000'10001,
659: 0b000'10001,
660: 0b000'10001,
661: 0,
662:
663: 0b000'01110, // 0x49 I
664: 0b000'00100,
665: 0b000'00100,
666: 0b000'00100,
667: 0b000'00100,
668: 0b000'00100,
669: 0b000'01110,
670: 0,
671:
672: 0b000'00111, // 0x4a J
673: 0b000'00010,
674: 0b000'00010,
675: 0b000'00010,
676: 0b000'10010,
677: 0b000'10010,
678: 0b000'01100,
679: 0,
680:
681: 0b000'10001, // 0x4b K
682: 0b000'10010,
683: 0b000'10100,
684: 0b000'11000,
685: 0b000'10100,
686: 0b000'10010,
687: 0b000'10001,
688: 0,
689:
690: 0b000'10000, // 0x4c L
691: 0b000'10000,
692: 0b000'10000,
693: 0b000'10000,
694: 0b000'10000,
695: 0b000'10000,
696: 0b000'11111,
697: 0,
698:
699: 0b000'10001, // 0x4d M
700: 0b000'11011,
701: 0b000'10101,
702: 0b000'10101,
703: 0b000'10001,
704: 0b000'10001,
705: 0b000'10001,
706: 0,
707:
708: 0b000'10001, // 0x4e N
709: 0b000'10001,
710: 0b000'11001,
711: 0b000'10101,
712: 0b000'10011,
713: 0b000'10001,
714: 0b000'10001,
715: 0,
716:
717: 0b000'01110, // 0x4f O
718: 0b000'10001,
719: 0b000'10001,
720: 0b000'10001,
721: 0b000'10001,
722: 0b000'10001,
723: 0b000'01110,
724: 0,
725:
726: 0b000'11110, // 0x50 P
727: 0b000'10001,
728: 0b000'10001,
729: 0b000'11110,
730: 0b000'10000,
731: 0b000'10000,
732: 0b000'10000,
733: 0,
734:
735: 0b000'01110, // 0x51 Q
736: 0b000'10001,
737: 0b000'10001,
738: 0b000'10001,
739: 0b000'10101,
740: 0b000'10010,
741: 0b000'01101,
742: 0,
743:
744: 0b000'11110, // 0x52 R
745: 0b000'10001,
746: 0b000'10001,
747: 0b000'11110,
748: 0b000'10100,
749: 0b000'10010,
750: 0b000'10001,
751: 0,
752:
753: 0b000'01111, // 0x53 S
754: 0b000'10000,
755: 0b000'10000,
756: 0b000'01110,
757: 0b000'00001,
758: 0b000'00001,
759: 0b000'11110,
760: 0,
761:
762: 0b000'11111, // 0x54 T
763: 0b000'00100,
764: 0b000'00100,
765: 0b000'00100,
766: 0b000'00100,
767: 0b000'00100,
768: 0b000'00100,
769: 0,
770:
771: 0b000'10001, // 0x55 U
772: 0b000'10001,
773: 0b000'10001,
774: 0b000'10001,
775: 0b000'10001,
776: 0b000'10001,
777: 0b000'01110,
778: 0,
779:
780: 0b000'10001, // 0x56 V
781: 0b000'10001,
782: 0b000'10001,
783: 0b000'10001,
784: 0b000'10001,
785: 0b000'01010,
786: 0b000'00100,
787: 0,
788:
789: 0b000'10001, // 0x57 W
790: 0b000'10001,
791: 0b000'10001,
792: 0b000'10001,
793: 0b000'10101,
794: 0b000'10101,
795: 0b000'01010,
796: 0,
797:
798: 0b000'10001, // 0x58 X
799: 0b000'10001,
800: 0b000'01010,
801: 0b000'00100,
802: 0b000'01010,
803: 0b000'10001,
804: 0b000'10001,
805: 0,
806:
807: 0b000'10001, // 0x59 Y
808: 0b000'10001,
809: 0b000'10001,
810: 0b000'01010,
811: 0b000'00100,
812: 0b000'00100,
813: 0b000'00100,
814: 0,
815:
816: 0b000'11111, // 0x5a Z
817: 0b000'00001,
818: 0b000'00010,
819: 0b000'00100,
820: 0b000'01000,
821: 0b000'10000,
822: 0b000'11111,
823: 0,
824:
825: 0b000'01110, // 0x5b [
826: 0b000'01000,
827: 0b000'01000,
828: 0b000'01000,
829: 0b000'01000,
830: 0b000'01000,
831: 0b000'01110,
832: 0,
833:
834: 0b000'10001, // 0x5c ¥
835: 0b000'01010,
836: 0b000'11111,
837: 0b000'00100,
838: 0b000'11111,
839: 0b000'00100,
840: 0b000'00100,
841: 0,
842:
843: 0b000'01110, // 0x5d ]
844: 0b000'00010,
845: 0b000'00010,
846: 0b000'00010,
847: 0b000'00010,
848: 0b000'00010,
849: 0b000'01110,
850: 0,
851:
852: 0b000'00100, // 0x5e ^
853: 0b000'01010,
854: 0b000'10001,
855: 0b000'00000,
856: 0b000'00000,
857: 0b000'00000,
858: 0b000'00000,
859: 0,
860:
861: 0b000'00000, // 0x5f _
862: 0b000'00000,
863: 0b000'00000,
864: 0b000'00000,
865: 0b000'00000,
866: 0b000'00000,
867: 0b000'11111,
868: 0,
869:
870: 0b000'01000, // 0x60 `
871: 0b000'00100,
872: 0b000'00010,
873: 0b000'00000,
874: 0b000'00000,
875: 0b000'00000,
876: 0b000'00000,
877: 0,
878:
879: 0b000'00000, // 0x61 a
880: 0b000'00000,
881: 0b000'01110,
882: 0b000'00001,
883: 0b000'01111,
884: 0b000'10001,
885: 0b000'01111,
886: 0,
887:
888: 0b000'10000, // 0x62 b
889: 0b000'10000,
890: 0b000'10110,
891: 0b000'11001,
892: 0b000'10001,
893: 0b000'10001,
894: 0b000'11110,
895: 0,
896:
897: 0b000'00000, // 0x63 c
898: 0b000'00000,
899: 0b000'01110,
900: 0b000'10001,
901: 0b000'10000,
902: 0b000'10001,
903: 0b000'01110,
904: 0,
905:
906: 0b000'00001, // 0x64 d
907: 0b000'00001,
908: 0b000'01101,
909: 0b000'10011,
910: 0b000'10001,
911: 0b000'10001,
912: 0b000'01111,
913: 0,
914:
915: 0b000'00000, // 0x65 e
916: 0b000'00000,
917: 0b000'01110,
918: 0b000'10001,
919: 0b000'11111,
920: 0b000'10000,
921: 0b000'01110,
922: 0,
923:
924: 0b000'00011, // 0x66 f
925: 0b000'00100,
926: 0b000'01110,
927: 0b000'00100,
928: 0b000'00100,
929: 0b000'00100,
930: 0b000'00100,
931: 0,
932:
933: 0b000'00000, // 0x67 g
934: 0b000'00000,
935: 0b000'01111,
936: 0b000'10001,
937: 0b000'01111,
938: 0b000'00001,
939: 0b000'01110,
940: 0,
941:
942: 0b000'10000, // 0x68 h
943: 0b000'10000,
944: 0b000'10110,
945: 0b000'11001,
946: 0b000'10001,
947: 0b000'10001,
948: 0b000'10001,
949: 0,
950:
951: 0b000'00100, // 0x69 i
952: 0b000'00000,
953: 0b000'01100,
954: 0b000'00100,
955: 0b000'00100,
956: 0b000'00100,
957: 0b000'01110,
958: 0,
959:
960: 0b000'00010, // 0x6a j
961: 0b000'00000,
962: 0b000'00110,
963: 0b000'00010,
964: 0b000'00010,
965: 0b000'10010,
966: 0b000'01100,
967: 0,
968:
969: 0b000'10000, // 0x6b k
970: 0b000'10000,
971: 0b000'10010,
972: 0b000'10100,
973: 0b000'11000,
974: 0b000'10100,
975: 0b000'10010,
976: 0,
977:
978: 0b000'01100, // 0x6c l
979: 0b000'00100,
980: 0b000'00100,
981: 0b000'00100,
982: 0b000'00100,
983: 0b000'00100,
984: 0b000'01110,
985: 0,
986:
987: 0b000'00000, // 0x6d m
988: 0b000'00000,
989: 0b000'11010,
990: 0b000'10101,
991: 0b000'10101,
992: 0b000'10001,
993: 0b000'10001,
994: 0,
995:
996: 0b000'00000, // 0x6e n
997: 0b000'00000,
998: 0b000'10110,
999: 0b000'11001,
1000: 0b000'10001,
1001: 0b000'10001,
1002: 0b000'10001,
1003: 0,
1004:
1005: 0b000'00000, // 0x6f o
1006: 0b000'00000,
1007: 0b000'01110,
1008: 0b000'10001,
1009: 0b000'10001,
1010: 0b000'10001,
1011: 0b000'01110,
1012: 0,
1013:
1014: 0b000'00000, // 0x70 p
1015: 0b000'00000,
1016: 0b000'11110,
1017: 0b000'10001,
1018: 0b000'11110,
1019: 0b000'10000,
1020: 0b000'10000,
1021: 0,
1022:
1023: 0b000'00000, // 0x71 q
1024: 0b000'00000,
1025: 0b000'01111,
1026: 0b000'10001,
1027: 0b000'01111,
1028: 0b000'00001,
1029: 0b000'00001,
1030: 0,
1031:
1032: 0b000'00000, // 0x72 r
1033: 0b000'00000,
1034: 0b000'10110,
1035: 0b000'11001,
1036: 0b000'10000,
1037: 0b000'10000,
1038: 0b000'10000,
1039: 0,
1040:
1041: 0b000'00000, // 0x73 s
1042: 0b000'00000,
1043: 0b000'01110,
1044: 0b000'10000,
1045: 0b000'01110,
1046: 0b000'00001,
1047: 0b000'11110,
1048: 0,
1049:
1050: 0b000'00000, // 0x74 t
1051: 0b000'01000,
1052: 0b000'11110,
1053: 0b000'01000,
1054: 0b000'01000,
1055: 0b000'01000,
1056: 0b000'00110,
1057: 0,
1058:
1059: 0b000'00000, // 0x75 u
1060: 0b000'00000,
1061: 0b000'10001,
1062: 0b000'10001,
1063: 0b000'10001,
1064: 0b000'10011,
1065: 0b000'01101,
1066: 0,
1067:
1068: 0b000'00000, // 0x76 v
1069: 0b000'00000,
1070: 0b000'10001,
1071: 0b000'10001,
1072: 0b000'10001,
1073: 0b000'01010,
1074: 0b000'00100,
1075: 0,
1076:
1077: 0b000'00000, // 0x77 w
1078: 0b000'00000,
1079: 0b000'10001,
1080: 0b000'10001,
1081: 0b000'10101,
1082: 0b000'10101,
1083: 0b000'01010,
1084: 0,
1085:
1086: 0b000'00000, // 0x78 x
1087: 0b000'00000,
1088: 0b000'10001,
1089: 0b000'01010,
1090: 0b000'00100,
1091: 0b000'01010,
1092: 0b000'10001,
1093: 0,
1094:
1095: 0b000'00000, // 0x79 y
1096: 0b000'00000,
1097: 0b000'10001,
1098: 0b000'10001,
1099: 0b000'01111,
1100: 0b000'00001,
1101: 0b000'01110,
1102: 0,
1103:
1104: 0b000'00000, // 0x7a z
1105: 0b000'00000,
1106: 0b000'11111,
1107: 0b000'00010,
1108: 0b000'00100,
1109: 0b000'01000,
1110: 0b000'11111,
1111: 0,
1112:
1113: 0b000'00010, // 0x7b {
1114: 0b000'00100,
1115: 0b000'00100,
1116: 0b000'01000,
1117: 0b000'00100,
1118: 0b000'00100,
1119: 0b000'00010,
1120: 0,
1121:
1122: 0b000'00100, // 0x7c |
1123: 0b000'00100,
1124: 0b000'00100,
1125: 0b000'00100,
1126: 0b000'00100,
1127: 0b000'00100,
1128: 0b000'00100,
1129: 0,
1130:
1131: 0b000'01000, // 0x7d }
1132: 0b000'00100,
1133: 0b000'00100,
1134: 0b000'00010,
1135: 0b000'00100,
1136: 0b000'00100,
1137: 0b000'01000,
1138: 0,
1139:
1140: 0b000'00000, // 0x7e →
1141: 0b000'00100,
1142: 0b000'00010,
1143: 0b000'11111,
1144: 0b000'00010,
1145: 0b000'00100,
1146: 0b000'00000,
1147: 0,
1148:
1149: 0b000'00000, // 0x7f ←
1150: 0b000'00100,
1151: 0b000'01000,
1152: 0b000'11111,
1153: 0b000'01000,
1154: 0b000'00100,
1155: 0b000'00000,
1156: 0,
1157:
1158:
1159: 0b000'00000, // 0xa0 space
1160: 0b000'00000,
1161: 0b000'00000,
1162: 0b000'00000,
1163: 0b000'00000,
1164: 0b000'00000,
1165: 0b000'00000,
1166: 0,
1167:
1168: 0b000'00000, // 0xa1 。
1169: 0b000'00000,
1170: 0b000'00000,
1171: 0b000'00000,
1172: 0b000'11100,
1173: 0b000'10100,
1174: 0b000'11100,
1175: 0,
1176:
1177: 0b000'00111, // 0xa2 「
1178: 0b000'00100,
1179: 0b000'00100,
1180: 0b000'00100,
1181: 0b000'00000,
1182: 0b000'00000,
1183: 0b000'00000,
1184: 0,
1185:
1186: 0b000'00000, // 0xa3 」
1187: 0b000'00000,
1188: 0b000'00000,
1189: 0b000'00100,
1190: 0b000'00100,
1191: 0b000'00100,
1192: 0b000'11100,
1193: 0,
1194:
1195: 0b000'00000, // 0xa4 、
1196: 0b000'00000,
1197: 0b000'00000,
1198: 0b000'00000,
1199: 0b000'10000,
1200: 0b000'01000,
1201: 0b000'00100,
1202: 0,
1203:
1204: 0b000'00000, // 0xa5 ・
1205: 0b000'00000,
1206: 0b000'00000,
1207: 0b000'01100,
1208: 0b000'01100,
1209: 0b000'00000,
1210: 0b000'00000,
1211: 0,
1212:
1213: 0b000'00000, // 0xa6 ヲ
1214: 0b000'11111,
1215: 0b000'00001,
1216: 0b000'01111,
1217: 0b000'00001,
1218: 0b000'00010,
1219: 0b000'01100,
1220: 0,
1221:
1222: 0b000'00000, // 0xa7 ァ
1223: 0b000'00000,
1224: 0b000'11111,
1225: 0b000'00001,
1226: 0b000'00110,
1227: 0b000'00100,
1228: 0b000'01000,
1229: 0,
1230:
1231: 0b000'00000, // 0xa8 ィ
1232: 0b000'00000,
1233: 0b000'00010,
1234: 0b000'00100,
1235: 0b000'01100,
1236: 0b000'10100,
1237: 0b000'00100,
1238: 0,
1239:
1240: 0b000'00000, // 0xa9 ゥ
1241: 0b000'00000,
1242: 0b000'00100,
1243: 0b000'11111,
1244: 0b000'10001,
1245: 0b000'00001,
1246: 0b000'00110,
1247: 0,
1248:
1249: 0b000'00000, // 0xaa ェ
1250: 0b000'00000,
1251: 0b000'11111,
1252: 0b000'00100,
1253: 0b000'00100,
1254: 0b000'00100,
1255: 0b000'11111,
1256: 0,
1257:
1258: 0b000'00000, // 0xab ォ
1259: 0b000'00000,
1260: 0b000'00010,
1261: 0b000'11111,
1262: 0b000'00110,
1263: 0b000'01010,
1264: 0b000'10010,
1265: 0,
1266:
1267: 0b000'00000, // 0xac ャ
1268: 0b000'00000,
1269: 0b000'01000,
1270: 0b000'11111,
1271: 0b000'01001,
1272: 0b000'01010,
1273: 0b000'01000,
1274: 0,
1275:
1276: 0b000'00000, // 0xad ュ
1277: 0b000'00000,
1278: 0b000'00000,
1279: 0b000'11110,
1280: 0b000'00010,
1281: 0b000'00010,
1282: 0b000'11111,
1283: 0,
1284:
1285: 0b000'00000, // 0xae ョ
1286: 0b000'00000,
1287: 0b000'11111,
1288: 0b000'00001,
1289: 0b000'11111,
1290: 0b000'00001,
1291: 0b000'11111,
1292: 0,
1293:
1294: 0b000'00000, // 0xaf ッ
1295: 0b000'00000,
1296: 0b000'10101,
1297: 0b000'10101,
1298: 0b000'00001,
1299: 0b000'00001,
1300: 0b000'00110,
1301: 0,
1302:
1303: 0b000'00000, // 0xb0 ー
1304: 0b000'00000,
1305: 0b000'10000,
1306: 0b000'01111,
1307: 0b000'00000,
1308: 0b000'00000,
1309: 0b000'00000,
1310: 0,
1311:
1312: 0b000'00000, // 0xb1 ア
1313: 0b000'11111,
1314: 0b000'00001,
1315: 0b000'00101,
1316: 0b000'00110,
1317: 0b000'00100,
1318: 0b000'01000,
1319: 0,
1320:
1321: 0b000'00001, // 0xb2 イ
1322: 0b000'00010,
1323: 0b000'00100,
1324: 0b000'01100,
1325: 0b000'10100,
1326: 0b000'00100,
1327: 0b000'00100,
1328: 0,
1329:
1330: 0b000'00100, // 0xb3 ウ
1331: 0b000'11111,
1332: 0b000'10001,
1333: 0b000'10001,
1334: 0b000'00001,
1335: 0b000'00010,
1336: 0b000'00100,
1337: 0,
1338:
1339: 0b000'00000, // 0xb4 エ
1340: 0b000'11111,
1341: 0b000'00100,
1342: 0b000'00100,
1343: 0b000'00100,
1344: 0b000'00100,
1345: 0b000'11111,
1346: 0,
1347:
1348: 0b000'00010, // 0xb5 オ
1349: 0b000'11111,
1350: 0b000'00010,
1351: 0b000'00110,
1352: 0b000'01010,
1353: 0b000'10010,
1354: 0b000'00010,
1355: 0,
1356:
1357: 0b000'01000, // 0xb6 カ
1358: 0b000'11111,
1359: 0b000'01001,
1360: 0b000'01001,
1361: 0b000'01001,
1362: 0b000'01001,
1363: 0b000'10010,
1364: 0,
1365:
1366: 0b000'00100, // 0xb7 キ
1367: 0b000'11111,
1368: 0b000'00100,
1369: 0b000'11111,
1370: 0b000'00100,
1371: 0b000'00100,
1372: 0b000'00100,
1373: 0,
1374:
1375: 0b000'00000, // 0xb8 ク
1376: 0b000'01111,
1377: 0b000'01001,
1378: 0b000'10001,
1379: 0b000'00001,
1380: 0b000'00010,
1381: 0b000'01100,
1382: 0,
1383:
1384: 0b000'01000, // 0xb9 ケ
1385: 0b000'01111,
1386: 0b000'10010,
1387: 0b000'00010,
1388: 0b000'00010,
1389: 0b000'00010,
1390: 0b000'00100,
1391: 0,
1392:
1393: 0b000'00000, // 0xba コ
1394: 0b000'11111,
1395: 0b000'00001,
1396: 0b000'00001,
1397: 0b000'00001,
1398: 0b000'00001,
1399: 0b000'11111,
1400: 0,
1401:
1402: 0b000'01010, // 0xbb サ
1403: 0b000'11111,
1404: 0b000'01010,
1405: 0b000'01010,
1406: 0b000'00010,
1407: 0b000'00100,
1408: 0b000'01000,
1409: 0,
1410:
1411: 0b000'00000, // 0xbc シ
1412: 0b000'11001,
1413: 0b000'00001,
1414: 0b000'11001,
1415: 0b000'00001,
1416: 0b000'00010,
1417: 0b000'11100,
1418: 0,
1419:
1420: 0b000'00000, // 0xbd ス
1421: 0b000'11111,
1422: 0b000'00001,
1423: 0b000'00010,
1424: 0b000'00100,
1425: 0b000'01010,
1426: 0b000'10001,
1427: 0,
1428:
1429: 0b000'01000, // 0xbe セ
1430: 0b000'11111,
1431: 0b000'01001,
1432: 0b000'01001,
1433: 0b000'01010,
1434: 0b000'01000,
1435: 0b000'00110,
1436: 0,
1437:
1438: 0b000'00000, // 0xbf ソ
1439: 0b000'10001,
1440: 0b000'10001,
1441: 0b000'01001,
1442: 0b000'00001,
1443: 0b000'00010,
1444: 0b000'01100,
1445: 0,
1446:
1447: 0b000'00000, // 0xc0 タ
1448: 0b000'01111,
1449: 0b000'01001,
1450: 0b000'10101,
1451: 0b000'00011,
1452: 0b000'00010,
1453: 0b000'01100,
1454: 0,
1455:
1456: 0b000'00010, // 0xc1 チ
1457: 0b000'01100,
1458: 0b000'00100,
1459: 0b000'11111,
1460: 0b000'00100,
1461: 0b000'00100,
1462: 0b000'01000,
1463: 0,
1464:
1465: 0b000'00000, // 0xc2 ツ
1466: 0b000'10101,
1467: 0b000'10101,
1468: 0b000'10101,
1469: 0b000'00001,
1470: 0b000'00010,
1471: 0b000'00100,
1472: 0,
1473:
1474: 0b000'01110, // 0xc3 テ
1475: 0b000'00000,
1476: 0b000'11111,
1477: 0b000'00100,
1478: 0b000'00100,
1479: 0b000'00100,
1480: 0b000'01000,
1481: 0,
1482:
1483: 0b000'01000, // 0xc4 ト
1484: 0b000'01000,
1485: 0b000'01000,
1486: 0b000'01100,
1487: 0b000'01010,
1488: 0b000'01000,
1489: 0b000'01000,
1490: 0,
1491:
1492: 0b000'00100, // 0xc5 ナ
1493: 0b000'00100,
1494: 0b000'11111,
1495: 0b000'00100,
1496: 0b000'00100,
1497: 0b000'00100,
1498: 0b000'01000,
1499: 0,
1500:
1501: 0b000'00000, // 0xc6 ニ
1502: 0b000'01110,
1503: 0b000'00000,
1504: 0b000'00000,
1505: 0b000'00000,
1506: 0b000'00000,
1507: 0b000'11111,
1508: 0,
1509:
1510: 0b000'00000, // 0xc7 ヌ
1511: 0b000'11111,
1512: 0b000'00001,
1513: 0b000'01010,
1514: 0b000'00100,
1515: 0b000'01010,
1516: 0b000'10001,
1517: 0,
1518:
1519: 0b000'00100, // 0xc8 ネ
1520: 0b000'11111,
1521: 0b000'00010,
1522: 0b000'00100,
1523: 0b000'01110,
1524: 0b000'10101,
1525: 0b000'00100,
1526: 0,
1527:
1528: 0b000'00000, // 0xc9 ノ
1529: 0b000'00010,
1530: 0b000'00010,
1531: 0b000'00010,
1532: 0b000'00010,
1533: 0b000'00100,
1534: 0b000'01000,
1535: 0,
1536:
1537: 0b000'00000, // 0xca ハ
1538: 0b000'00100,
1539: 0b000'00010,
1540: 0b000'10001,
1541: 0b000'10001,
1542: 0b000'10001,
1543: 0b000'10001,
1544: 0,
1545:
1546: 0b000'00000, // 0xcb ヒ
1547: 0b000'10000,
1548: 0b000'11111,
1549: 0b000'10000,
1550: 0b000'10000,
1551: 0b000'10000,
1552: 0b000'01111,
1553: 0,
1554:
1555: 0b000'00000, // 0xcc フ
1556: 0b000'11111,
1557: 0b000'00001,
1558: 0b000'00001,
1559: 0b000'00001,
1560: 0b000'00010,
1561: 0b000'01100,
1562: 0,
1563:
1564: 0b000'00000, // 0xcd ヘ
1565: 0b000'01000,
1566: 0b000'10100,
1567: 0b000'10010,
1568: 0b000'00001,
1569: 0b000'00001,
1570: 0b000'00000,
1571: 0,
1572:
1573: 0b000'00100, // 0xce ホ
1574: 0b000'11111,
1575: 0b000'00100,
1576: 0b000'10101,
1577: 0b000'10101,
1578: 0b000'10101,
1579: 0b000'00100,
1580: 0,
1581:
1582: 0b000'00000, // 0xcf マ
1583: 0b000'11111,
1584: 0b000'00001,
1585: 0b000'00001,
1586: 0b000'01010,
1587: 0b000'00100,
1588: 0b000'00010,
1589: 0,
1590:
1591: 0b000'00000, // 0xd0 ミ
1592: 0b000'01110,
1593: 0b000'00000,
1594: 0b000'01110,
1595: 0b000'00000,
1596: 0b000'01110,
1597: 0b000'00001,
1598: 0,
1599:
1600: 0b000'00000, // 0xd1 ム
1601: 0b000'00100,
1602: 0b000'00100,
1603: 0b000'01000,
1604: 0b000'01001,
1605: 0b000'10011,
1606: 0b000'11101,
1607: 0,
1608:
1609: 0b000'00000, // 0xd2 メ
1610: 0b000'00001,
1611: 0b000'00001,
1612: 0b000'00101,
1613: 0b000'00010,
1614: 0b000'00101,
1615: 0b000'11000,
1616: 0,
1617:
1618: 0b000'00000, // 0xd3 モ
1619: 0b000'11111,
1620: 0b000'00100,
1621: 0b000'11111,
1622: 0b000'00100,
1623: 0b000'00100,
1624: 0b000'00011,
1625: 0,
1626:
1627: 0b000'01000, // 0xd4 ヤ
1628: 0b000'01000,
1629: 0b000'11111,
1630: 0b000'01001,
1631: 0b000'01010,
1632: 0b000'01000,
1633: 0b000'01000,
1634: 0,
1635:
1636: 0b000'00000, // 0xd5 ユ
1637: 0b000'01110,
1638: 0b000'00010,
1639: 0b000'00010,
1640: 0b000'00010,
1641: 0b000'00010,
1642: 0b000'11111,
1643: 0,
1644:
1645: 0b000'00000, // 0xd6 ヨ
1646: 0b000'11111,
1647: 0b000'00001,
1648: 0b000'01111,
1649: 0b000'00001,
1650: 0b000'00001,
1651: 0b000'11111,
1652: 0,
1653:
1654: 0b000'01110, // 0xd7 ラ
1655: 0b000'00000,
1656: 0b000'11111,
1657: 0b000'00001,
1658: 0b000'00001,
1659: 0b000'00010,
1660: 0b000'00100,
1661: 0,
1662:
1663: 0b000'00000, // 0xd8 リ
1664: 0b000'10010,
1665: 0b000'10010,
1666: 0b000'10010,
1667: 0b000'00010,
1668: 0b000'00100,
1669: 0b000'01000,
1670: 0,
1671:
1672: 0b000'00000, // 0xd9 ル
1673: 0b000'00100,
1674: 0b000'10100,
1675: 0b000'10100,
1676: 0b000'10101,
1677: 0b000'10101,
1678: 0b000'00110,
1679: 0,
1680:
1681: 0b000'00000, // 0xda レ
1682: 0b000'10000,
1683: 0b000'10000,
1684: 0b000'10001,
1685: 0b000'10010,
1686: 0b000'10100,
1687: 0b000'11000,
1688: 0,
1689:
1690: 0b000'00000, // 0xdb ロ
1691: 0b000'11111,
1692: 0b000'10001,
1693: 0b000'10001,
1694: 0b000'10001,
1695: 0b000'10001,
1696: 0b000'11111,
1697: 0,
1698:
1699: 0b000'00000, // 0xdc ワ
1700: 0b000'11111,
1701: 0b000'10001,
1702: 0b000'10001,
1703: 0b000'00001,
1704: 0b000'00010,
1705: 0b000'00100,
1706: 0,
1707:
1708: 0b000'00000, // 0xdd ン
1709: 0b000'11000,
1710: 0b000'00000,
1711: 0b000'00001,
1712: 0b000'00001,
1713: 0b000'00010,
1714: 0b000'11100,
1715: 0,
1716:
1717: 0b000'00100, // 0xde ゛
1718: 0b000'10010,
1719: 0b000'01000,
1720: 0b000'00000,
1721: 0b000'00000,
1722: 0b000'00000,
1723: 0b000'00000,
1724: 0,
1725:
1726: 0b000'11100, // 0xdf ゜
1727: 0b000'10100,
1728: 0b000'11100,
1729: 0b000'00000,
1730: 0b000'00000,
1731: 0b000'00000,
1732: 0b000'00000,
1733: 0,
1734:
1735: // ここから実際には 5x10 dot も混ざるが、現在はサポートしていない
1736:
1737: 0b000'00000, // 0xe0 α
1738: 0b000'00000,
1739: 0b000'00001,
1740: 0b000'01101,
1741: 0b000'10010,
1742: 0b000'10010,
1743: 0b000'01101,
1744: 0b000'00000,
1745:
1746: 0b000'01010, // 0xe1 a‥(Latin Small Letter A with Diaeresis)
1747: 0b000'00000,
1748: 0b000'01110,
1749: 0b000'00001,
1750: 0b000'01111,
1751: 0b000'10001,
1752: 0b000'01111,
1753: 0b000'00000,
1754:
1755: 0b000'00000, // 0xe2 β (10dot)
1756: 0b000'00000,
1757: 0b000'01110,
1758: 0b000'10001,
1759: 0b000'11110,
1760: 0b000'10001,
1761: 0b000'11110,
1762: 0b000'10000,
1763:
1764: 0b000'00000, // 0xe3 ε
1765: 0b000'00000,
1766: 0b000'01110,
1767: 0b000'10000,
1768: 0b000'01110,
1769: 0b000'10000,
1770: 0b000'01110,
1771: 0b000'00000,
1772:
1773: 0b000'00000, // 0xe4 μ (10dot)
1774: 0b000'00000,
1775: 0b000'10001,
1776: 0b000'10001,
1777: 0b000'10001,
1778: 0b000'10011,
1779: 0b000'11101,
1780: 0b000'10000,
1781:
1782: 0b000'00000, // 0xe5 σ
1783: 0b000'00000,
1784: 0b000'01111,
1785: 0b000'10010,
1786: 0b000'10001,
1787: 0b000'10001,
1788: 0b000'01110,
1789: 0b000'00000,
1790:
1791: 0b000'00000, // 0xe6 ρ (10dot)
1792: 0b000'00000,
1793: 0b000'00000,
1794: 0b000'00000,
1795: 0b000'00000,
1796: 0b000'00000,
1797: 0b000'00000,
1798: 0b000'00000,
1799:
1800: 0b000'00000, // 0xe7 g (10dot ver)
1801: 0b000'00000,
1802: 0b000'01111,
1803: 0b000'10001,
1804: 0b000'10001,
1805: 0b000'10001,
1806: 0b000'01111,
1807: 0b000'00001,
1808:
1809: 0b000'00000, // 0xe8 √(?)
1810: 0b000'00111,
1811: 0b000'00100,
1812: 0b000'00100,
1813: 0b000'10100,
1814: 0b000'01000,
1815: 0b000'00000,
1816: 0b000'00000,
1817:
1818: 0b000'00000, // 0xe9 ^(-1) (?)
1819: 0b000'00010,
1820: 0b000'11010,
1821: 0b000'00010,
1822: 0b000'00000,
1823: 0b000'00000,
1824: 0b000'00000,
1825: 0b000'00000,
1826:
1827: 0b000'00010, // 0xea j (10dot ver)
1828: 0b000'00000,
1829: 0b000'00110,
1830: 0b000'00010,
1831: 0b000'00010,
1832: 0b000'00010,
1833: 0b000'00010,
1834: 0b000'00010,
1835:
1836: 0b000'00000, // 0xeb ^x (?)
1837: 0b000'00000,
1838: 0b000'00000,
1839: 0b000'00000,
1840: 0b000'00000,
1841: 0b000'00000,
1842: 0b000'00000,
1843: 0b000'00000,
1844:
1845: 0b000'00000, // 0xec ¢
1846: 0b000'00100,
1847: 0b000'01110,
1848: 0b000'10100,
1849: 0b000'10101,
1850: 0b000'01110,
1851: 0b000'00100,
1852: 0b000'00000,
1853:
1.1.1.6 ! root 1854: 0b000'00000, // 0xed L= (U+26c0 だろうか?)
1.1.1.4 root 1855: 0b000'00000,
1856: 0b000'00000,
1857: 0b000'00000,
1858: 0b000'00000,
1859: 0b000'00000,
1860: 0b000'00000,
1861: 0b000'00000,
1862:
1863: 0b000'00000, // 0xee n ̄(n マクロン?)
1864: 0b000'00000,
1865: 0b000'00000,
1866: 0b000'00000,
1867: 0b000'00000,
1868: 0b000'00000,
1869: 0b000'00000,
1870: 0b000'00000,
1871:
1872: 0b000'01010, // 0xef o‥(Latin Small Letter O with Diaeresis)
1873: 0b000'00000,
1874: 0b000'01110,
1875: 0b000'10001,
1876: 0b000'10001,
1877: 0b000'10001,
1878: 0b000'01110,
1879: 0b000'00000,
1880:
1881: 0b000'00000, // 0xf0 p (10dot ver)
1882: 0b000'00000,
1883: 0b000'10110,
1884: 0b000'11001,
1885: 0b000'10001,
1886: 0b000'10001,
1887: 0b000'11110,
1888: 0b000'10000,
1889:
1890: 0b000'00000, // 0xf1 q (10dot ver)
1891: 0b000'00000,
1892: 0b000'01101,
1893: 0b000'10011,
1894: 0b000'10001,
1895: 0b000'10001,
1896: 0b000'01111,
1897: 0b000'00001,
1898:
1899: 0b000'01110, // 0xf2 θ(?)
1900: 0b000'10001,
1901: 0b000'10001,
1902: 0b000'11111,
1903: 0b000'10001,
1904: 0b000'10001,
1905: 0b000'01110,
1906: 0b000'00000,
1907:
1908: 0b000'00000, // 0xf3 ∞(?)
1909: 0b000'00000,
1910: 0b000'01010,
1911: 0b000'10101,
1912: 0b000'10101,
1913: 0b000'01010,
1914: 0b000'00000,
1915: 0b000'00000,
1916:
1917: 0b000'00000, // 0xf4 Ω
1918: 0b000'01110,
1919: 0b000'10001,
1920: 0b000'10001,
1921: 0b000'10001,
1922: 0b000'01010,
1923: 0b000'11011,
1924: 0b000'00000,
1925:
1926: 0b000'01010, // 0xf5 u‥(?)
1927: 0b000'00000,
1928: 0b000'10001,
1929: 0b000'10001,
1930: 0b000'10001,
1931: 0b000'10011,
1932: 0b000'01101,
1933: 0b000'00000,
1934:
1935: 0b000'11111, // 0xf6 Σ
1936: 0b000'01000,
1937: 0b000'00100,
1938: 0b000'00010,
1939: 0b000'00100,
1940: 0b000'01000,
1941: 0b000'11111,
1942: 0b000'00000,
1943:
1944: 0b000'00000, // 0xf7 π
1945: 0b000'00000,
1946: 0b000'11111,
1947: 0b000'01010,
1948: 0b000'01010,
1949: 0b000'01010,
1950: 0b000'10011,
1951: 0b000'00000,
1952:
1953: 0b000'11111, // 0xf8 x ̄(?)
1954: 0b000'00000,
1955: 0b000'10001,
1956: 0b000'01010,
1957: 0b000'00100,
1958: 0b000'01010,
1959: 0b000'10001,
1960: 0b000'00000,
1961:
1962: 0b000'00000, // 0xf9 y (10dot ver)
1963: 0b000'00000,
1964: 0b000'10001,
1965: 0b000'10001,
1966: 0b000'10001,
1967: 0b000'10001,
1968: 0b000'01111,
1969: 0b000'00001,
1970:
1971: 0b000'00000, // 0xfa 千
1972: 0b000'00001,
1973: 0b000'01110,
1974: 0b000'00100,
1975: 0b000'11111,
1976: 0b000'00100,
1977: 0b000'00100,
1978: 0b000'00000,
1979:
1980: 0b000'00000, // 0xfb 万
1981: 0b000'11111,
1982: 0b000'01000,
1983: 0b000'01111,
1984: 0b000'01001,
1985: 0b000'01001,
1986: 0b000'10001,
1987: 0b000'00000,
1988:
1989: 0b000'00000, // 0xfc 円
1990: 0b000'11111,
1991: 0b000'10101,
1992: 0b000'10101,
1993: 0b000'11111,
1994: 0b000'10001,
1995: 0b000'10001,
1996: 0b000'00000,
1997:
1998: 0b000'00000, // 0xfd ÷
1999: 0b000'00000,
2000: 0b000'00100,
2001: 0b000'00000,
2002: 0b000'11111,
2003: 0b000'00000,
2004: 0b000'00100,
2005: 0b000'00000,
2006:
2007: 0b000'00000, // 0xfe space
2008: 0b000'00000,
2009: 0b000'00000,
2010: 0b000'00000,
2011: 0b000'00000,
2012: 0b000'00000,
2013: 0b000'00000,
2014: 0b000'00000,
2015:
2016: 0b000'11111, // 0xff cursor
2017: 0b000'11111,
2018: 0b000'11111,
2019: 0b000'11111,
2020: 0b000'11111,
2021: 0b000'11111,
2022: 0b000'11111,
2023: 0b000'11111,
2024: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.