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