|
|
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:
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:
1.1.1.2 ! root 54: { 0x02, // ライト無視(1文字目)
1.1 root 55: {
56: B(000000'00), // 0
57: B(000000'00), // 1
58: B(000000'00), // 2
1.1.1.2 ! root 59: B(111111'00), // 3
! 60: B(101010'00), // 4
1.1 root 61: B(101010'00), // 5
1.1.1.2 ! root 62: B(100000'00), // 6
! 63: B(110101'00), // 7
1.1 root 64: B(110101'00), // 8
1.1.1.2 ! root 65: B(111111'00), // 9
! 66: B(000000'00), // a
1.1 root 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
1.1.1.2 ! root 74: B(01111111), // 5
! 75: B(01011101), // 6
! 76: B(01010101), // 7
! 77: B(01010101), // 8
! 78: B(01000001), // 9
! 79: B(01101011), // a
! 80: B(01101011), // b
! 81: B(01111111), // c
! 82: B(00000000), // d
! 83: B(00000000), // e
1.1 root 84: B(00000000), // f
85: }
86: },
87:
1.1.1.2 ! root 88: { 0x03, // ライト無視(2文字目)
1.1 root 89: {
90: B(000000'00), // 0
91: B(000000'00), // 1
92: B(000000'00), // 2
1.1.1.2 ! root 93: B(111110'00), // 3
! 94: B(100010'00), // 4
! 95: B(110110'00), // 5
! 96: B(110110'00), // 6
! 97: B(110110'00), // 7
! 98: B(100010'00), // 8
! 99: B(111110'00), // 9
! 100: B(000000'00), // a
1.1 root 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
1.1.1.2 ! root 108: B(11111100), // 5
! 109: B(10001100), // 6
! 110: B(11011100), // 7
! 111: B(11011100), // 8
! 112: B(11011100), // 9
! 113: B(11011100), // a
! 114: B(10001100), // b
! 115: B(11111100), // c
! 116: B(00000000), // d
! 117: B(00000000), // e
1.1 root 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.