Annotation of nono/wx/privatechar.cpp, revision 1.1.1.3

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       root       15: 
                     16: constexpr private_char private_chars[] {
                     17:        { 0x01, // 早送りの三角
                     18:          {
                     19:                B(000000'00),           // 0
                     20:                B(100000'00),           // 1
                     21:                B(110000'00),           // 2
                     22:                B(111000'00),           // 3
                     23:                B(111100'00),           // 4
                     24:                B(111110'00),           // 5
                     25:                B(111111'00),           // 6
                     26:                B(111110'00),           // 7
                     27:                B(111100'00),           // 8
                     28:                B(111000'00),           // 9
                     29:                B(110000'00),           // a
                     30:                B(100000'00),           // b
                     31:          }, {
                     32:                B(00000000),            // 0
                     33:                B(10000000),            // 1
                     34:                B(11000000),            // 2
                     35:                B(11100000),            // 3
                     36:                B(11110000),            // 4
                     37:                B(11111000),            // 5
                     38:                B(11111100),            // 6
                     39:                B(11111110),            // 7
                     40:                B(11111111),            // 8
                     41:                B(11111110),            // 9
                     42:                B(11111100),            // a
                     43:                B(11111000),            // b
                     44:                B(11110000),            // c
                     45:                B(11100000),            // d
                     46:                B(11000000),            // e
                     47:                B(10000000),            // f
                     48:          }
                     49:        },
                     50: 
1.1.1.2   root       51:        { 0x02, // ライト無視(1文字目)
1.1       root       52:          {
                     53:                B(000000'00),           // 0
                     54:                B(000000'00),           // 1
                     55:                B(000000'00),           // 2
1.1.1.2   root       56:                B(111111'00),           // 3
                     57:                B(101010'00),           // 4
1.1       root       58:                B(101010'00),           // 5
1.1.1.2   root       59:                B(100000'00),           // 6
                     60:                B(110101'00),           // 7
1.1       root       61:                B(110101'00),           // 8
1.1.1.2   root       62:                B(111111'00),           // 9
                     63:                B(000000'00),           // a
1.1       root       64:                B(000000'00),           // b
                     65:          }, {
                     66:                B(00000000),            // 0
                     67:                B(00000000),            // 1
                     68:                B(00000000),            // 2
                     69:                B(00000000),            // 3
                     70:                B(00000000),            // 4
1.1.1.2   root       71:                B(01111111),            // 5
                     72:                B(01011101),            // 6
                     73:                B(01010101),            // 7
                     74:                B(01010101),            // 8
                     75:                B(01000001),            // 9
                     76:                B(01101011),            // a
                     77:                B(01101011),            // b
                     78:                B(01111111),            // c
                     79:                B(00000000),            // d
                     80:                B(00000000),            // e
1.1       root       81:                B(00000000),            // f
                     82:          }
                     83:        },
                     84: 
1.1.1.2   root       85:        { 0x03, // ライト無視(2文字目)
1.1       root       86:          {
                     87:                B(000000'00),           // 0
                     88:                B(000000'00),           // 1
                     89:                B(000000'00),           // 2
1.1.1.2   root       90:                B(111110'00),           // 3
                     91:                B(100010'00),           // 4
                     92:                B(110110'00),           // 5
                     93:                B(110110'00),           // 6
                     94:                B(110110'00),           // 7
                     95:                B(100010'00),           // 8
                     96:                B(111110'00),           // 9
                     97:                B(000000'00),           // a
1.1       root       98:                B(000000'00),           // b
                     99:          }, {
                    100:                B(00000000),            // 0
                    101:                B(00000000),            // 1
                    102:                B(00000000),            // 2
                    103:                B(00000000),            // 3
                    104:                B(00000000),            // 4
1.1.1.2   root      105:                B(11111100),            // 5
                    106:                B(10001100),            // 6
                    107:                B(11011100),            // 7
                    108:                B(11011100),            // 8
                    109:                B(11011100),            // 9
                    110:                B(11011100),            // a
                    111:                B(10001100),            // b
                    112:                B(11111100),            // c
                    113:                B(00000000),            // d
                    114:                B(00000000),            // e
1.1       root      115:                B(00000000),            // f
                    116:          }
                    117:        },
                    118: 
                    119:        { 0x04, // 4文字幅の BREAK (1文字目)
                    120:          {
                    121:                B(000000'00),           // 0
                    122:                B(111001'00),           // 1
                    123:                B(100101'00),           // 2
                    124:                B(100101'00),           // 3
                    125:                B(100101'00),           // 4
                    126:                B(111001'00),           // 5
                    127:                B(100101'00),           // 6
                    128:                B(100101'00),           // 7
                    129:                B(100101'00),           // 8
                    130:                B(111001'00),           // 9
                    131:                B(000000'00),           // a
                    132:                B(000000'00),           // b
                    133:          }, {
                    134:                B(00000000),            // 0
                    135:                B(00000000),            // 1
                    136:                B(01111100),            // 2
                    137:                B(00100010),            // 3
                    138:                B(00100010),            // 4
                    139:                B(00100010),            // 5
                    140:                B(00100010),            // 6
                    141:                B(00111100),            // 7
                    142:                B(00100010),            // 8
                    143:                B(00100010),            // 9
                    144:                B(00100010),            // a
                    145:                B(00100010),            // b
                    146:                B(00100010),            // c
                    147:                B(01111100),            // d
                    148:                B(00000000),            // e
                    149:                B(00000000),            // f
                    150:          }
                    151:        },
                    152: 
                    153:        { 0x05, // 4文字幅の BREAK (2文字目)
                    154:          {
                    155:                B(000000'00),           // 0
                    156:                B(110011'00),           // 1
                    157:                B(001010'00),           // 2
                    158:                B(001010'00),           // 3
                    159:                B(001010'00),           // 4
                    160:                B(110011'00),           // 5
                    161:                B(010010'00),           // 6
                    162:                B(001010'00),           // 7
                    163:                B(001010'00),           // 8
                    164:                B(001011'00),           // 9
                    165:                B(000000'00),           // a
                    166:                B(000000'00),           // b
                    167:          }, {
                    168:                B(00000000),            // 0
                    169:                B(00000000),            // 1
                    170:                B(11110011),            // 2
                    171:                B(10001010),            // 3
                    172:                B(10001010),            // 4
                    173:                B(10001010),            // 5
                    174:                B(10001010),            // 6
                    175:                B(11110011),            // 7
                    176:                B(10010010),            // 8
                    177:                B(10010010),            // 9
                    178:                B(10001010),            // a
                    179:                B(10001010),            // b
                    180:                B(10001010),            // c
                    181:                B(10001011),            // d
                    182:                B(00000000),            // e
                    183:                B(00000000),            // f
                    184:          }
                    185:        },
                    186: 
                    187:        { 0x06, // 4文字幅の BREAK (3文字目)
                    188:          {
                    189:                B(000000'00),           // 0
                    190:                B(110011'00),           // 1
                    191:                B(000100'00),           // 2
                    192:                B(000100'00),           // 3
                    193:                B(000100'00),           // 4
                    194:                B(100111'00),           // 5
                    195:                B(000100'00),           // 6
                    196:                B(000100'00),           // 7
                    197:                B(000100'00),           // 8
                    198:                B(110100'00),           // 9
                    199:                B(000000'00),           // a
                    200:                B(000000'00),           // b
                    201:          }, {
                    202:                B(00000000),            // 0
                    203:                B(00000000),            // 1
                    204:                B(11100010),            // 2
                    205:                B(00000010),            // 3
                    206:                B(00000101),            // 4
                    207:                B(00000101),            // 5
                    208:                B(00000101),            // 6
                    209:                B(11001000),            // 7
                    210:                B(00001000),            // 8
                    211:                B(00001000),            // 9
                    212:                B(00001111),            // a
                    213:                B(00001000),            // b
                    214:                B(00001000),            // c
                    215:                B(11101000),            // d
                    216:                B(00000000),            // e
                    217:                B(00000000),            // f
                    218:          }
                    219:        },
                    220: 
                    221:        { 0x07, // 4文字幅の BREAK (4文字目)
                    222:          {
                    223:                B(000000'00),           // 0
                    224:                B(001001'00),           // 1
                    225:                B(101010'00),           // 2
                    226:                B(101010'00),           // 3
                    227:                B(101100'00),           // 4
                    228:                B(101100'00),           // 5
                    229:                B(101010'00),           // 6
                    230:                B(101010'00),           // 7
                    231:                B(101001'00),           // 8
                    232:                B(101001'00),           // 9
                    233:                B(000000'00),           // a
                    234:                B(000000'00),           // b
                    235:          }, {
                    236:                B(00000000),            // 0
                    237:                B(00000000),            // 1
                    238:                B(00100010),            // 2
                    239:                B(00100010),            // 3
                    240:                B(00100100),            // 4
                    241:                B(00100100),            // 5
                    242:                B(00101000),            // 6
                    243:                B(10110000),            // 7
                    244:                B(10101000),            // 8
                    245:                B(10101000),            // 9
                    246:                B(10100100),            // a
                    247:                B(10100100),            // b
                    248:                B(10100010),            // c
                    249:                B(10100010),            // d
                    250:                B(00000000),            // e
                    251:                B(00000000),            // f
                    252:          }
                    253:        },
                    254: 
                    255:        { 0x08, // (アキ)
                    256:        },
                    257: 
                    258:        // 0x09 は '\t'、
                    259:        // 0x0a は '\n' なので割り当てない
                    260: 
                    261:        { 0x0b, // 4文字幅の ENTER (1文字目)
                    262:          {
                    263:                B(000000'00),           // 0
                    264:                B(111101'00),           // 1
                    265:                B(100001'00),           // 2
                    266:                B(100001'00),           // 3
                    267:                B(100001'00),           // 4
                    268:                B(111001'00),           // 5
                    269:                B(100001'00),           // 6
                    270:                B(100001'00),           // 7
                    271:                B(100001'00),           // 8
                    272:                B(111101'00),           // 9
                    273:                B(000000'00),           // a
                    274:                B(000000'00),           // b
                    275:          }, {
                    276:                B(00000000),            // 0
                    277:                B(00000000),            // 1
                    278:                B(01111101),            // 2
                    279:                B(01000001),            // 3
                    280:                B(01000001),            // 4
                    281:                B(01000001),            // 5
                    282:                B(01000001),            // 6
                    283:                B(01111001),            // 7
                    284:                B(01000001),            // 8
                    285:                B(01000001),            // 9
                    286:                B(01000001),            // a
                    287:                B(01000001),            // b
                    288:                B(01000001),            // c
                    289:                B(01111101),            // d
                    290:                B(00000000),            // e
                    291:                B(00000000),            // f
                    292:          }
                    293:        },
                    294: 
                    295:        { 0x0c, // 4文字幅の ENTER (2文字目)
                    296:          {
                    297:                B(000000'00),           // 0
                    298:                B(001011'00),           // 1
                    299:                B(101001'00),           // 2
                    300:                B(101001'00),           // 3
                    301:                B(101001'00),           // 4
                    302:                B(011001'00),           // 5
                    303:                B(011001'00),           // 6
                    304:                B(011001'00),           // 7
                    305:                B(001001'00),           // 8
                    306:                B(001001'00),           // 9
                    307:                B(000000'00),           // a
                    308:                B(000000'00),           // b
                    309:          }, {
                    310:                B(00000000),            // 0
                    311:                B(00000000),            // 1
                    312:                B(00010111),            // 2
                    313:                B(00010001),            // 3
                    314:                B(10010001),            // 4
                    315:                B(10010001),            // 5
                    316:                B(10010001),            // 6
                    317:                B(01010001),            // 7
                    318:                B(01010001),            // 8
                    319:                B(00110001),            // 9
                    320:                B(00110001),            // a
                    321:                B(00110001),            // b
                    322:                B(00010001),            // c
                    323:                B(00010001),            // d
                    324:                B(00000000),            // e
                    325:                B(00000000),            // f
                    326:          }
                    327:        },
                    328: 
                    329:        { 0x0d, // 4文字幅の ENTER (3文字目)
                    330:          {
                    331:                B(000000'00),           // 0
                    332:                B(101111'00),           // 1
                    333:                B(001000'00),           // 2
                    334:                B(001000'00),           // 3
                    335:                B(001000'00),           // 4
                    336:                B(001110'00),           // 5
                    337:                B(001000'00),           // 6
                    338:                B(001000'00),           // 7
                    339:                B(001000'00),           // 8
                    340:                B(001111'00),           // 9
                    341:                B(000000'00),           // a
                    342:                B(000000'00),           // b
                    343:          }, {
                    344:                B(00000000),            // 0
                    345:                B(00000000),            // 1
                    346:                B(11011111),            // 2
                    347:                B(00010000),            // 3
                    348:                B(00010000),            // 4
                    349:                B(00010000),            // 5
                    350:                B(00010000),            // 6
                    351:                B(00011110),            // 7
                    352:                B(00010000),            // 8
                    353:                B(00010000),            // 9
                    354:                B(00010000),            // a
                    355:                B(00010000),            // b
                    356:                B(00010000),            // c
                    357:                B(00011111),            // d
                    358:                B(00000000),            // e
                    359:                B(00000000),            // f
                    360:          }
                    361:        },
                    362: 
                    363:        { 0x0e, // 4文字幅の ENTER (4文字目)
                    364:          {
                    365:                B(000000'00),           // 0
                    366:                B(111000'00),           // 1
                    367:                B(100100'00),           // 2
                    368:                B(100100'00),           // 3
                    369:                B(100100'00),           // 4
                    370:                B(111000'00),           // 5
                    371:                B(101000'00),           // 6
                    372:                B(100100'00),           // 7
                    373:                B(100100'00),           // 8
                    374:                B(100100'00),           // 9
                    375:                B(000000'00),           // a
                    376:                B(000000'00),           // b
                    377:          }, {
                    378:                B(00000000),            // 0
                    379:                B(00000000),            // 1
                    380:                B(01111000),            // 2
                    381:                B(01000100),            // 3
                    382:                B(01000100),            // 4
                    383:                B(01000100),            // 5
                    384:                B(01000100),            // 6
                    385:                B(01111000),            // 7
                    386:                B(01001000),            // 8
                    387:                B(01001000),            // 9
                    388:                B(01000100),            // a
                    389:                B(01000100),            // b
                    390:                B(01000100),            // c
                    391:                B(01000100),            // d
                    392:                B(00000000),            // e
                    393:                B(00000000),            // f
                    394:          }
                    395:        },
                    396: 
                    397:        { 0 },  // 番兵
                    398: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.