|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2021 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // 外字データ
9: //
10:
1.1.1.2 root 11: #include "bitops.h"
1.1 root 12: #include "privatechar.h"
13:
1.1.1.3 root 14: #define B(x) (0b##x)
1.1.1.4 ! root 15: #define W(x) (B(x) >> 8), (B(x) & 0xff)
1.1 root 16:
17: constexpr private_char private_chars[] {
18: { 0x01, // 早送りの三角
19: {
20: B(000000'00), // 0
21: B(100000'00), // 1
22: B(110000'00), // 2
23: B(111000'00), // 3
24: B(111100'00), // 4
25: B(111110'00), // 5
26: B(111111'00), // 6
27: B(111110'00), // 7
28: B(111100'00), // 8
29: B(111000'00), // 9
30: B(110000'00), // a
31: B(100000'00), // b
32: }, {
33: B(00000000), // 0
34: B(10000000), // 1
35: B(11000000), // 2
36: B(11100000), // 3
37: B(11110000), // 4
38: B(11111000), // 5
39: B(11111100), // 6
40: B(11111110), // 7
41: B(11111111), // 8
42: B(11111110), // 9
43: B(11111100), // a
44: B(11111000), // b
45: B(11110000), // c
46: B(11100000), // d
47: B(11000000), // e
48: B(10000000), // f
1.1.1.4 ! root 49: }, {
! 50: W(000000000000'0000), // 0
! 51: W(100000000000'0000), // 1
! 52: W(110000000000'0000), // 2
! 53: W(111000000000'0000), // 3
! 54: W(111100000000'0000), // 4
! 55: W(111110000000'0000), // 5
! 56: W(111111000000'0000), // 6
! 57: W(111111100000'0000), // 7
! 58: W(111111110000'0000), // 8
! 59: W(111111111000'0000), // 9
! 60: W(111111111100'0000), // 10
! 61: W(111111111110'0000), // 11
! 62: W(111111111111'0000), // 12
! 63: W(111111111110'0000), // 13
! 64: W(111111111100'0000), // 14
! 65: W(111111111000'0000), // 15
! 66: W(111111110000'0000), // 16
! 67: W(111111100000'0000), // 17
! 68: W(111111000000'0000), // 18
! 69: W(111110000000'0000), // 19
! 70: W(111100000000'0000), // 20
! 71: W(111000000000'0000), // 21
! 72: W(110000000000'0000), // 22
! 73: W(100000000000'0000), // 23
1.1 root 74: }
75: },
76:
1.1.1.2 root 77: { 0x02, // ライト無視(1文字目)
1.1 root 78: {
79: B(000000'00), // 0
80: B(000000'00), // 1
81: B(000000'00), // 2
1.1.1.2 root 82: B(111111'00), // 3
83: B(101010'00), // 4
1.1 root 84: B(101010'00), // 5
1.1.1.2 root 85: B(100000'00), // 6
86: B(110101'00), // 7
1.1 root 87: B(110101'00), // 8
1.1.1.2 root 88: B(111111'00), // 9
89: B(000000'00), // a
1.1 root 90: B(000000'00), // b
91: }, {
92: B(00000000), // 0
93: B(00000000), // 1
94: B(00000000), // 2
95: B(00000000), // 3
96: B(00000000), // 4
1.1.1.2 root 97: B(01111111), // 5
98: B(01011101), // 6
99: B(01010101), // 7
100: B(01010101), // 8
101: B(01000001), // 9
102: B(01101011), // a
103: B(01101011), // b
104: B(01111111), // c
105: B(00000000), // d
106: B(00000000), // e
1.1 root 107: B(00000000), // f
1.1.1.4 ! root 108: }, {
! 109: W(000000000000'0000), // 0
! 110: W(000000000000'0000), // 1
! 111: W(000000000000'0000), // 2
! 112: W(000000000000'0000), // 3
! 113: W(000000000000'0000), // 4
! 114: W(000000000000'0000), // 5
! 115: W(001111111111'0000), // 6
! 116: W(011111111111'0000), // 7
! 117: W(011101111101'0000), // 8
! 118: W(011101111101'0000), // 9
! 119: W(011101111101'0000), // 10
! 120: W(011101101101'0000), // 11
! 121: W(011101101101'0000), // 12
! 122: W(011101010101'0000), // 13
! 123: W(011101010101'0000), // 14
! 124: W(011110111011'0000), // 15
! 125: W(011110111011'0000), // 16
! 126: W(011110111011'0000), // 17
! 127: W(011111111111'0000), // 18
! 128: W(001111111111'0000), // 19
! 129: W(000000000000'0000), // 20
! 130: W(000000000000'0000), // 21
! 131: W(000000000000'0000), // 22
! 132: W(000000000000'0000), // 23
1.1 root 133: }
134: },
135:
1.1.1.2 root 136: { 0x03, // ライト無視(2文字目)
1.1 root 137: {
138: B(000000'00), // 0
139: B(000000'00), // 1
140: B(000000'00), // 2
1.1.1.2 root 141: B(111110'00), // 3
142: B(100010'00), // 4
143: B(110110'00), // 5
144: B(110110'00), // 6
145: B(110110'00), // 7
146: B(100010'00), // 8
147: B(111110'00), // 9
148: B(000000'00), // a
1.1 root 149: B(000000'00), // b
150: }, {
151: B(00000000), // 0
152: B(00000000), // 1
153: B(00000000), // 2
154: B(00000000), // 3
155: B(00000000), // 4
1.1.1.2 root 156: B(11111100), // 5
157: B(10001100), // 6
158: B(11011100), // 7
159: B(11011100), // 8
160: B(11011100), // 9
161: B(11011100), // a
162: B(10001100), // b
163: B(11111100), // c
164: B(00000000), // d
165: B(00000000), // e
1.1 root 166: B(00000000), // f
1.1.1.4 ! root 167: }, {
! 168: W(000000000000'0000), // 0
! 169: W(000000000000'0000), // 1
! 170: W(000000000000'0000), // 2
! 171: W(000000000000'0000), // 3
! 172: W(000000000000'0000), // 4
! 173: W(000000000000'0000), // 5
! 174: W(111111111000'0000), // 6
! 175: W(111111111100'0000), // 7
! 176: W(110000011100'0000), // 8
! 177: W(111101111100'0000), // 9
! 178: W(111101111100'0000), // 10
! 179: W(111101111100'0000), // 11
! 180: W(111101111100'0000), // 12
! 181: W(111101111100'0000), // 13
! 182: W(111101111100'0000), // 14
! 183: W(111101111100'0000), // 15
! 184: W(111101111100'0000), // 16
! 185: W(110000011100'0000), // 17
! 186: W(111111111100'0000), // 18
! 187: W(111111111000'0000), // 19
! 188: W(000000000000'0000), // 20
! 189: W(000000000000'0000), // 21
! 190: W(000000000000'0000), // 22
! 191: W(000000000000'0000), // 23
1.1 root 192: }
193: },
194:
195: { 0x04, // 4文字幅の BREAK (1文字目)
196: {
197: B(000000'00), // 0
198: B(111001'00), // 1
199: B(100101'00), // 2
200: B(100101'00), // 3
201: B(100101'00), // 4
202: B(111001'00), // 5
203: B(100101'00), // 6
204: B(100101'00), // 7
205: B(100101'00), // 8
206: B(111001'00), // 9
207: B(000000'00), // a
208: B(000000'00), // b
209: }, {
210: B(00000000), // 0
211: B(00000000), // 1
212: B(01111100), // 2
213: B(00100010), // 3
214: B(00100010), // 4
215: B(00100010), // 5
216: B(00100010), // 6
217: B(00111100), // 7
218: B(00100010), // 8
219: B(00100010), // 9
220: B(00100010), // a
221: B(00100010), // b
222: B(00100010), // c
223: B(01111100), // d
224: B(00000000), // e
225: B(00000000), // f
1.1.1.4 ! root 226: }, {
! 227: W(000000000000'0000), // 0
! 228: W(000000000000'0000), // 1
! 229: W(000000000000'0000), // 2
! 230: W(111111100011'0000), // 3
! 231: W(011000010001'0000), // 4
! 232: W(011000011001'0000), // 5
! 233: W(011000011001'0000), // 6
! 234: W(011000011001'0000), // 7
! 235: W(011000011001'0000), // 8
! 236: W(011000110001'0000), // 9
! 237: W(011111100001'0000), // 10
! 238: W(011000010001'0000), // 11
! 239: W(011000011001'0000), // 12
! 240: W(011000001101'0000), // 13
! 241: W(011000001101'0000), // 14
! 242: W(011000001101'0000), // 15
! 243: W(011000001101'0000), // 16
! 244: W(011000001101'0000), // 17
! 245: W(011000001101'0000), // 18
! 246: W(011000011001'0000), // 19
! 247: W(011111100011'0000), // 20
! 248: W(000000000000'0000), // 21
! 249: W(000000000000'0000), // 22
! 250: W(000000000000'0000), // 23
1.1 root 251: }
252: },
253:
254: { 0x05, // 4文字幅の BREAK (2文字目)
255: {
256: B(000000'00), // 0
257: B(110011'00), // 1
258: B(001010'00), // 2
259: B(001010'00), // 3
260: B(001010'00), // 4
261: B(110011'00), // 5
262: B(010010'00), // 6
263: B(001010'00), // 7
264: B(001010'00), // 8
265: B(001011'00), // 9
266: B(000000'00), // a
267: B(000000'00), // b
268: }, {
269: B(00000000), // 0
270: B(00000000), // 1
271: B(11110011), // 2
272: B(10001010), // 3
273: B(10001010), // 4
274: B(10001010), // 5
275: B(10001010), // 6
276: B(11110011), // 7
277: B(10010010), // 8
278: B(10010010), // 9
279: B(10001010), // a
280: B(10001010), // b
281: B(10001010), // c
282: B(10001011), // d
283: B(00000000), // e
284: B(00000000), // f
1.1.1.4 ! root 285: }, {
! 286: W(000000000000'0000), // 0
! 287: W(000000000000'0000), // 1
! 288: W(000000000000'0000), // 2
! 289: W(111110011111'0000), // 3
! 290: W(100011001100'0000), // 4
! 291: W(100001101100'0000), // 5
! 292: W(100001101100'0000), // 6
! 293: W(100001101100'0000), // 7
! 294: W(100001101100'0000), // 8
! 295: W(100011001100'0000), // 9
! 296: W(111100001111'0000), // 10
! 297: W(100110001100'0000), // 11
! 298: W(100011001100'0000), // 12
! 299: W(100011001100'0000), // 13
! 300: W(100011001100'0000), // 14
! 301: W(100001101100'0000), // 15
! 302: W(100001101100'0000), // 16
! 303: W(100001101100'0000), // 17
! 304: W(100001101100'0000), // 18
! 305: W(100001101100'0000), // 19
! 306: W(110011111111'0000), // 20
! 307: W(000000000000'0000), // 21
! 308: W(000000000000'0000), // 22
! 309: W(000000000000'0000), // 23
1.1 root 310: }
311: },
312:
313: { 0x06, // 4文字幅の BREAK (3文字目)
314: {
315: B(000000'00), // 0
316: B(110011'00), // 1
317: B(000100'00), // 2
318: B(000100'00), // 3
319: B(000100'00), // 4
320: B(100111'00), // 5
321: B(000100'00), // 6
322: B(000100'00), // 7
323: B(000100'00), // 8
324: B(110100'00), // 9
325: B(000000'00), // a
326: B(000000'00), // b
327: }, {
328: B(00000000), // 0
329: B(00000000), // 1
330: B(11100010), // 2
331: B(00000010), // 3
332: B(00000101), // 4
333: B(00000101), // 5
334: B(00000101), // 6
335: B(11001000), // 7
336: B(00001000), // 8
337: B(00001000), // 9
338: B(00001111), // a
339: B(00001000), // b
340: B(00001000), // c
341: B(11101000), // d
342: B(00000000), // e
343: B(00000000), // f
1.1.1.4 ! root 344: }, {
! 345: W(000000000000'0000), // 0
! 346: W(000000000000'0000), // 1
! 347: W(000000000000'0000), // 2
! 348: W(111000011000'0000), // 3
! 349: W(001000011000'0000), // 4
! 350: W(001000011000'0000), // 5
! 351: W(000100011000'0000), // 6
! 352: W(000000101100'0000), // 7
! 353: W(010000101100'0000), // 8
! 354: W(010000101100'0000), // 9
! 355: W(110000101100'0000), // 10
! 356: W(010001000110'0000), // 11
! 357: W(010001000110'0000), // 12
! 358: W(000001000110'0000), // 13
! 359: W(000001111110'0000), // 14
! 360: W(000001000110'0000), // 15
! 361: W(000010000011'0000), // 16
! 362: W(000010000011'0000), // 17
! 363: W(001010000011'0000), // 18
! 364: W(001010000011'0000), // 19
! 365: W(111011100111'0000), // 20
! 366: W(000000000000'0000), // 21
! 367: W(000000000000'0000), // 22
! 368: W(000000000000'0000), // 23
1.1 root 369: }
370: },
371:
372: { 0x07, // 4文字幅の BREAK (4文字目)
373: {
374: B(000000'00), // 0
375: B(001001'00), // 1
376: B(101010'00), // 2
377: B(101010'00), // 3
378: B(101100'00), // 4
379: B(101100'00), // 5
380: B(101010'00), // 6
381: B(101010'00), // 7
382: B(101001'00), // 8
383: B(101001'00), // 9
384: B(000000'00), // a
385: B(000000'00), // b
386: }, {
387: B(00000000), // 0
388: B(00000000), // 1
389: B(00100010), // 2
390: B(00100010), // 3
391: B(00100100), // 4
392: B(00100100), // 5
393: B(00101000), // 6
394: B(10110000), // 7
395: B(10101000), // 8
396: B(10101000), // 9
397: B(10100100), // a
398: B(10100100), // b
399: B(10100010), // c
400: B(10100010), // d
401: B(00000000), // e
402: B(00000000), // f
1.1.1.4 ! root 403: }, {
! 404: W(000000000000'0000), // 0
! 405: W(000000000000'0000), // 1
! 406: W(000000000000'0000), // 2
! 407: W(011110000111'0000), // 3
! 408: W(001100000010'0000), // 4
! 409: W(001100000100'0000), // 5
! 410: W(001100000100'0000), // 6
! 411: W(001100001000'0000), // 7
! 412: W(001100010000'0000), // 8
! 413: W(001100010000'0000), // 9
! 414: W(001100100000'0000), // 10
! 415: W(001101110000'0000), // 11
! 416: W(001110110000'0000), // 12
! 417: W(001100011000'0000), // 13
! 418: W(001100011000'0000), // 14
! 419: W(001100011000'0000), // 15
! 420: W(001100001100'0000), // 16
! 421: W(001100001100'0000), // 17
! 422: W(001100000110'0000), // 18
! 423: W(001100000110'0000), // 19
! 424: W(111110001111'0000), // 20
! 425: W(000000000000'0000), // 21
! 426: W(000000000000'0000), // 22
! 427: W(000000000000'0000), // 23
1.1 root 428: }
429: },
430:
431: { 0x08, // (アキ)
432: },
433:
434: // 0x09 は '\t'、
435: // 0x0a は '\n' なので割り当てない
436:
437: { 0x0b, // 4文字幅の ENTER (1文字目)
438: {
439: B(000000'00), // 0
440: B(111101'00), // 1
441: B(100001'00), // 2
442: B(100001'00), // 3
443: B(100001'00), // 4
444: B(111001'00), // 5
445: B(100001'00), // 6
446: B(100001'00), // 7
447: B(100001'00), // 8
448: B(111101'00), // 9
449: B(000000'00), // a
450: B(000000'00), // b
451: }, {
452: B(00000000), // 0
453: B(00000000), // 1
454: B(01111101), // 2
455: B(01000001), // 3
456: B(01000001), // 4
457: B(01000001), // 5
458: B(01000001), // 6
459: B(01111001), // 7
460: B(01000001), // 8
461: B(01000001), // 9
462: B(01000001), // a
463: B(01000001), // b
464: B(01000001), // c
465: B(01111101), // d
466: B(00000000), // e
467: B(00000000), // f
1.1.1.4 ! root 468: }, {
! 469: W(000000000000'0000), // 0
! 470: W(000000000000'0000), // 1
! 471: W(000000000000'0000), // 2
! 472: W(111111111110'0000), // 3
! 473: W(011000010110'0000), // 4
! 474: W(011000010111'0000), // 5
! 475: W(011000000101'0000), // 6
! 476: W(011000000101'0000), // 7
! 477: W(011000010101'0000), // 8
! 478: W(011000010100'0000), // 9
! 479: W(011111110100'0000), // 10
! 480: W(011000010100'0000), // 11
! 481: W(011000010100'0000), // 12
! 482: W(011000000100'0000), // 13
! 483: W(011000000100'0000), // 14
! 484: W(011000000100'0000), // 15
! 485: W(011000000100'0000), // 16
! 486: W(011000000100'0000), // 17
! 487: W(011000010100'0000), // 18
! 488: W(011000010100'0000), // 19
! 489: W(111111110110'0000), // 20
! 490: W(000000000000'0000), // 21
! 491: W(000000000000'0000), // 22
! 492: W(000000000000'0000), // 23
1.1 root 493: }
494: },
495:
496: { 0x0c, // 4文字幅の ENTER (2文字目)
497: {
498: B(000000'00), // 0
499: B(001011'00), // 1
500: B(101001'00), // 2
501: B(101001'00), // 3
502: B(101001'00), // 4
503: B(011001'00), // 5
504: B(011001'00), // 6
505: B(011001'00), // 7
506: B(001001'00), // 8
507: B(001001'00), // 9
508: B(000000'00), // a
509: B(000000'00), // b
510: }, {
511: B(00000000), // 0
512: B(00000000), // 1
513: B(00010111), // 2
514: B(00010001), // 3
515: B(10010001), // 4
516: B(10010001), // 5
517: B(10010001), // 6
518: B(01010001), // 7
519: B(01010001), // 8
520: B(00110001), // 9
521: B(00110001), // a
522: B(00110001), // b
523: B(00010001), // c
524: B(00010001), // d
525: B(00000000), // e
526: B(00000000), // f
1.1.1.4 ! root 527: }, {
! 528: W(000000000000'0000), // 0
! 529: W(000000000000'0000), // 1
! 530: W(000000000000'0000), // 2
! 531: W(000011101111'0000), // 3
! 532: W(000001010001'0000), // 4
! 533: W(000001010001'0000), // 5
! 534: W(000001000001'0000), // 6
! 535: W(100001000001'0000), // 7
! 536: W(100001000001'0000), // 8
! 537: W(110001000001'0000), // 9
! 538: W(110001000001'0000), // 10
! 539: W(011001000001'0000), // 11
! 540: W(011001000001'0000), // 12
! 541: W(001101000001'0000), // 13
! 542: W(001101000001'0000), // 14
! 543: W(000111000001'0000), // 15
! 544: W(000111000001'0000), // 16
! 545: W(000011000001'0000), // 17
! 546: W(000011000001'0000), // 18
! 547: W(000001000001'0000), // 19
! 548: W(000001000111'0000), // 20
! 549: W(000000000000'0000), // 21
! 550: W(000000000000'0000), // 22
! 551: W(000000000000'0000), // 23
1.1 root 552: }
553: },
554:
1.1.1.4 ! root 555: // 0x0d は '\r' なので割り当てない
! 556:
! 557: { 0x0e, // 4文字幅の ENTER (3文字目)
1.1 root 558: {
559: B(000000'00), // 0
560: B(101111'00), // 1
561: B(001000'00), // 2
562: B(001000'00), // 3
563: B(001000'00), // 4
564: B(001110'00), // 5
565: B(001000'00), // 6
566: B(001000'00), // 7
567: B(001000'00), // 8
568: B(001111'00), // 9
569: B(000000'00), // a
570: B(000000'00), // b
571: }, {
572: B(00000000), // 0
573: B(00000000), // 1
574: B(11011111), // 2
575: B(00010000), // 3
576: B(00010000), // 4
577: B(00010000), // 5
578: B(00010000), // 6
579: B(00011110), // 7
580: B(00010000), // 8
581: B(00010000), // 9
582: B(00010000), // a
583: B(00010000), // b
584: B(00010000), // c
585: B(00011111), // d
586: B(00000000), // e
587: B(00000000), // f
1.1.1.4 ! root 588: }, {
! 589: W(000000000000'0000), // 0
! 590: W(000000000000'0000), // 1
! 591: W(000000000000'0000), // 2
! 592: W(111101111111'0000), // 3
! 593: W(100010110000'0000), // 4
! 594: W(100010110000'0000), // 5
! 595: W(100010110000'0000), // 6
! 596: W(100000110000'0000), // 7
! 597: W(100000110001'0000), // 8
! 598: W(100000110001'0000), // 9
! 599: W(100000111111'0000), // 10
! 600: W(100000110001'0000), // 11
! 601: W(100000110001'0000), // 12
! 602: W(100000110001'0000), // 13
! 603: W(100000110000'0000), // 14
! 604: W(100000110000'0000), // 15
! 605: W(100000110000'0000), // 16
! 606: W(100000110000'0000), // 17
! 607: W(100000110000'0000), // 18
! 608: W(100000110000'0000), // 19
! 609: W(110001111111'0000), // 20
! 610: W(000000000000'0000), // 21
! 611: W(000000000000'0000), // 22
! 612: W(000000000000'0000), // 23
1.1 root 613: }
614: },
615:
1.1.1.4 ! root 616: { 0x0f, // 4文字幅の ENTER (4文字目)
1.1 root 617: {
618: B(000000'00), // 0
619: B(111000'00), // 1
620: B(100100'00), // 2
621: B(100100'00), // 3
622: B(100100'00), // 4
623: B(111000'00), // 5
624: B(101000'00), // 6
625: B(100100'00), // 7
626: B(100100'00), // 8
627: B(100100'00), // 9
628: B(000000'00), // a
629: B(000000'00), // b
630: }, {
631: B(00000000), // 0
632: B(00000000), // 1
633: B(01111000), // 2
634: B(01000100), // 3
635: B(01000100), // 4
636: B(01000100), // 5
637: B(01000100), // 6
638: B(01111000), // 7
639: B(01001000), // 8
640: B(01001000), // 9
641: B(01000100), // a
642: B(01000100), // b
643: B(01000100), // c
644: B(01000100), // d
645: B(00000000), // e
646: B(00000000), // f
1.1.1.4 ! root 647: }, {
! 648: W(000000000000'0000), // 0
! 649: W(000000000000'0000), // 1
! 650: W(000000000000'0000), // 2
! 651: W(101111111000'0000), // 3
! 652: W(101100001100'0000), // 4
! 653: W(101100000110'0000), // 5
! 654: W(101100000110'0000), // 6
! 655: W(001100000110'0000), // 7
! 656: W(001100000110'0000), // 8
! 657: W(001100001100'0000), // 9
! 658: W(001111110000'0000), // 10
! 659: W(001100011000'0000), // 11
! 660: W(001100001100'0000), // 12
! 661: W(001100001100'0000), // 13
! 662: W(001100001100'0000), // 14
! 663: W(001100000110'0000), // 15
! 664: W(001100000110'0000), // 16
! 665: W(001100000110'0000), // 17
! 666: W(101100000110'0000), // 18
! 667: W(101100000110'0000), // 19
! 668: W(111110001111'0000), // 20
! 669: W(000000000000'0000), // 21
! 670: W(000000000000'0000), // 22
! 671: W(000000000000'0000), // 23
1.1 root 672: }
673: },
674:
675: { 0 }, // 番兵
676: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.