font8x8/basic.rs
1//! Basic Latin. `U+0000` - `U+007F`
2use super::{legacy::BASIC_LEGACY, FontUnicode, UnicodeFonts};
3
4use core::fmt;
5
6/// A constant `[FontUnicode; 128]`, for Basic Latin fonts (`U+0000` - `U+007F`).
7pub const BASIC_UNICODE: [FontUnicode; 128] = [
8 FontUnicode('\u{0000}', BASIC_LEGACY[0]),
9 FontUnicode('\u{0001}', BASIC_LEGACY[1]),
10 FontUnicode('\u{0002}', BASIC_LEGACY[2]),
11 FontUnicode('\u{0003}', BASIC_LEGACY[3]),
12 FontUnicode('\u{0004}', BASIC_LEGACY[4]),
13 FontUnicode('\u{0005}', BASIC_LEGACY[5]),
14 FontUnicode('\u{0006}', BASIC_LEGACY[6]),
15 FontUnicode('\u{0007}', BASIC_LEGACY[7]),
16 FontUnicode('\u{0008}', BASIC_LEGACY[8]),
17 FontUnicode('\u{0009}', BASIC_LEGACY[9]),
18 FontUnicode('\u{000A}', BASIC_LEGACY[10]),
19 FontUnicode('\u{000B}', BASIC_LEGACY[11]),
20 FontUnicode('\u{000C}', BASIC_LEGACY[12]),
21 FontUnicode('\u{000D}', BASIC_LEGACY[13]),
22 FontUnicode('\u{000E}', BASIC_LEGACY[14]),
23 FontUnicode('\u{000F}', BASIC_LEGACY[15]),
24 FontUnicode('\u{0010}', BASIC_LEGACY[16]),
25 FontUnicode('\u{0011}', BASIC_LEGACY[17]),
26 FontUnicode('\u{0012}', BASIC_LEGACY[18]),
27 FontUnicode('\u{0013}', BASIC_LEGACY[19]),
28 FontUnicode('\u{0014}', BASIC_LEGACY[20]),
29 FontUnicode('\u{0015}', BASIC_LEGACY[21]),
30 FontUnicode('\u{0016}', BASIC_LEGACY[22]),
31 FontUnicode('\u{0017}', BASIC_LEGACY[23]),
32 FontUnicode('\u{0018}', BASIC_LEGACY[24]),
33 FontUnicode('\u{0019}', BASIC_LEGACY[25]),
34 FontUnicode('\u{001A}', BASIC_LEGACY[26]),
35 FontUnicode('\u{001B}', BASIC_LEGACY[27]),
36 FontUnicode('\u{001C}', BASIC_LEGACY[28]),
37 FontUnicode('\u{001D}', BASIC_LEGACY[29]),
38 FontUnicode('\u{001E}', BASIC_LEGACY[30]),
39 FontUnicode('\u{001F}', BASIC_LEGACY[31]),
40 FontUnicode('\u{0020}', BASIC_LEGACY[32]),
41 FontUnicode('\u{0021}', BASIC_LEGACY[33]),
42 FontUnicode('\u{0022}', BASIC_LEGACY[34]),
43 FontUnicode('\u{0023}', BASIC_LEGACY[35]),
44 FontUnicode('\u{0024}', BASIC_LEGACY[36]),
45 FontUnicode('\u{0025}', BASIC_LEGACY[37]),
46 FontUnicode('\u{0026}', BASIC_LEGACY[38]),
47 FontUnicode('\u{0027}', BASIC_LEGACY[39]),
48 FontUnicode('\u{0028}', BASIC_LEGACY[40]),
49 FontUnicode('\u{0029}', BASIC_LEGACY[41]),
50 FontUnicode('\u{002A}', BASIC_LEGACY[42]),
51 FontUnicode('\u{002B}', BASIC_LEGACY[43]),
52 FontUnicode('\u{002C}', BASIC_LEGACY[44]),
53 FontUnicode('\u{002D}', BASIC_LEGACY[45]),
54 FontUnicode('\u{002E}', BASIC_LEGACY[46]),
55 FontUnicode('\u{002F}', BASIC_LEGACY[47]),
56 FontUnicode('\u{0030}', BASIC_LEGACY[48]),
57 FontUnicode('\u{0031}', BASIC_LEGACY[49]),
58 FontUnicode('\u{0032}', BASIC_LEGACY[50]),
59 FontUnicode('\u{0033}', BASIC_LEGACY[51]),
60 FontUnicode('\u{0034}', BASIC_LEGACY[52]),
61 FontUnicode('\u{0035}', BASIC_LEGACY[53]),
62 FontUnicode('\u{0036}', BASIC_LEGACY[54]),
63 FontUnicode('\u{0037}', BASIC_LEGACY[55]),
64 FontUnicode('\u{0038}', BASIC_LEGACY[56]),
65 FontUnicode('\u{0039}', BASIC_LEGACY[57]),
66 FontUnicode('\u{003A}', BASIC_LEGACY[58]),
67 FontUnicode('\u{003B}', BASIC_LEGACY[59]),
68 FontUnicode('\u{003C}', BASIC_LEGACY[60]),
69 FontUnicode('\u{003D}', BASIC_LEGACY[61]),
70 FontUnicode('\u{003E}', BASIC_LEGACY[62]),
71 FontUnicode('\u{003F}', BASIC_LEGACY[63]),
72 FontUnicode('\u{0040}', BASIC_LEGACY[64]),
73 FontUnicode('\u{0041}', BASIC_LEGACY[65]),
74 FontUnicode('\u{0042}', BASIC_LEGACY[66]),
75 FontUnicode('\u{0043}', BASIC_LEGACY[67]),
76 FontUnicode('\u{0044}', BASIC_LEGACY[68]),
77 FontUnicode('\u{0045}', BASIC_LEGACY[69]),
78 FontUnicode('\u{0046}', BASIC_LEGACY[70]),
79 FontUnicode('\u{0047}', BASIC_LEGACY[71]),
80 FontUnicode('\u{0048}', BASIC_LEGACY[72]),
81 FontUnicode('\u{0049}', BASIC_LEGACY[73]),
82 FontUnicode('\u{004A}', BASIC_LEGACY[74]),
83 FontUnicode('\u{004B}', BASIC_LEGACY[75]),
84 FontUnicode('\u{004C}', BASIC_LEGACY[76]),
85 FontUnicode('\u{004D}', BASIC_LEGACY[77]),
86 FontUnicode('\u{004E}', BASIC_LEGACY[78]),
87 FontUnicode('\u{004F}', BASIC_LEGACY[79]),
88 FontUnicode('\u{0050}', BASIC_LEGACY[80]),
89 FontUnicode('\u{0051}', BASIC_LEGACY[81]),
90 FontUnicode('\u{0052}', BASIC_LEGACY[82]),
91 FontUnicode('\u{0053}', BASIC_LEGACY[83]),
92 FontUnicode('\u{0054}', BASIC_LEGACY[84]),
93 FontUnicode('\u{0055}', BASIC_LEGACY[85]),
94 FontUnicode('\u{0056}', BASIC_LEGACY[86]),
95 FontUnicode('\u{0057}', BASIC_LEGACY[87]),
96 FontUnicode('\u{0058}', BASIC_LEGACY[88]),
97 FontUnicode('\u{0059}', BASIC_LEGACY[89]),
98 FontUnicode('\u{005A}', BASIC_LEGACY[90]),
99 FontUnicode('\u{005B}', BASIC_LEGACY[91]),
100 FontUnicode('\u{005C}', BASIC_LEGACY[92]),
101 FontUnicode('\u{005D}', BASIC_LEGACY[93]),
102 FontUnicode('\u{005E}', BASIC_LEGACY[94]),
103 FontUnicode('\u{005F}', BASIC_LEGACY[95]),
104 FontUnicode('\u{0060}', BASIC_LEGACY[96]),
105 FontUnicode('\u{0061}', BASIC_LEGACY[97]),
106 FontUnicode('\u{0062}', BASIC_LEGACY[98]),
107 FontUnicode('\u{0063}', BASIC_LEGACY[99]),
108 FontUnicode('\u{0064}', BASIC_LEGACY[100]),
109 FontUnicode('\u{0065}', BASIC_LEGACY[101]),
110 FontUnicode('\u{0066}', BASIC_LEGACY[102]),
111 FontUnicode('\u{0067}', BASIC_LEGACY[103]),
112 FontUnicode('\u{0068}', BASIC_LEGACY[104]),
113 FontUnicode('\u{0069}', BASIC_LEGACY[105]),
114 FontUnicode('\u{006A}', BASIC_LEGACY[106]),
115 FontUnicode('\u{006B}', BASIC_LEGACY[107]),
116 FontUnicode('\u{006C}', BASIC_LEGACY[108]),
117 FontUnicode('\u{006D}', BASIC_LEGACY[109]),
118 FontUnicode('\u{006E}', BASIC_LEGACY[110]),
119 FontUnicode('\u{006F}', BASIC_LEGACY[111]),
120 FontUnicode('\u{0070}', BASIC_LEGACY[112]),
121 FontUnicode('\u{0071}', BASIC_LEGACY[113]),
122 FontUnicode('\u{0072}', BASIC_LEGACY[114]),
123 FontUnicode('\u{0073}', BASIC_LEGACY[115]),
124 FontUnicode('\u{0074}', BASIC_LEGACY[116]),
125 FontUnicode('\u{0075}', BASIC_LEGACY[117]),
126 FontUnicode('\u{0076}', BASIC_LEGACY[118]),
127 FontUnicode('\u{0077}', BASIC_LEGACY[119]),
128 FontUnicode('\u{0078}', BASIC_LEGACY[120]),
129 FontUnicode('\u{0079}', BASIC_LEGACY[121]),
130 FontUnicode('\u{007A}', BASIC_LEGACY[122]),
131 FontUnicode('\u{007B}', BASIC_LEGACY[123]),
132 FontUnicode('\u{007C}', BASIC_LEGACY[124]),
133 FontUnicode('\u{007D}', BASIC_LEGACY[125]),
134 FontUnicode('\u{007E}', BASIC_LEGACY[126]),
135 FontUnicode('\u{007F}', BASIC_LEGACY[127]),
136];
137
138/// A convenient constant for Basic Latin fonts (`U+0000` - `U+007F`), that implements the `UnicodeFonts` trait.
139///
140/// ## `BASIC_UNICODE[0]: U+0000` `WHITESPACE`
141/// ## `BASIC_UNICODE[1]: U+0001` `WHITESPACE`
142/// ## `BASIC_UNICODE[2]: U+0002` `WHITESPACE`
143/// ## `BASIC_UNICODE[3]: U+0003` `WHITESPACE`
144/// ## `BASIC_UNICODE[4]: U+0004` `WHITESPACE`
145/// ## `BASIC_UNICODE[5]: U+0005` `WHITESPACE`
146/// ## `BASIC_UNICODE[6]: U+0006` `WHITESPACE`
147/// ## `BASIC_UNICODE[7]: U+0007` `WHITESPACE`
148/// ## `BASIC_UNICODE[8]: U+0008` `WHITESPACE`
149/// ## `BASIC_UNICODE[9]: U+0009` `WHITESPACE`
150/// ## `BASIC_UNICODE[10]: U+000A` `WHITESPACE`
151/// ## `BASIC_UNICODE[11]: U+000B` `WHITESPACE`
152/// ## `BASIC_UNICODE[12]: U+000C` `WHITESPACE`
153/// ## `BASIC_UNICODE[13]: U+000D` `WHITESPACE`
154/// ## `BASIC_UNICODE[14]: U+000E` `WHITESPACE`
155/// ## `BASIC_UNICODE[15]: U+000F` `WHITESPACE`
156/// ## `BASIC_UNICODE[16]: U+0010` `WHITESPACE`
157/// ## `BASIC_UNICODE[17]: U+0011` `WHITESPACE`
158/// ## `BASIC_UNICODE[18]: U+0012` `WHITESPACE`
159/// ## `BASIC_UNICODE[19]: U+0013` `WHITESPACE`
160/// ## `BASIC_UNICODE[20]: U+0014` `WHITESPACE`
161/// ## `BASIC_UNICODE[21]: U+0015` `WHITESPACE`
162/// ## `BASIC_UNICODE[22]: U+0016` `WHITESPACE`
163/// ## `BASIC_UNICODE[23]: U+0017` `WHITESPACE`
164/// ## `BASIC_UNICODE[24]: U+0018` `WHITESPACE`
165/// ## `BASIC_UNICODE[25]: U+0019` `WHITESPACE`
166/// ## `BASIC_UNICODE[26]: U+001A` `WHITESPACE`
167/// ## `BASIC_UNICODE[27]: U+001B` `WHITESPACE`
168/// ## `BASIC_UNICODE[28]: U+001C` `WHITESPACE`
169/// ## `BASIC_UNICODE[29]: U+001D` `WHITESPACE`
170/// ## `BASIC_UNICODE[30]: U+001E` `WHITESPACE`
171/// ## `BASIC_UNICODE[31]: U+001F` `WHITESPACE`
172/// ## `BASIC_UNICODE[32]: U+0020` `WHITESPACE`
173/// ## `BASIC_UNICODE[33]: U+0021`
174/// `"!"`
175///
176/// ```text
177/// ░░░██░░░
178/// ░░████░░
179/// ░░████░░
180/// ░░░██░░░
181/// ░░░██░░░
182/// ░░░░░░░░
183/// ░░░██░░░
184/// ░░░░░░░░
185/// ```
186///
187/// ## `BASIC_UNICODE[34]: U+0022`
188/// `"\"`
189///
190/// ```text
191/// ░██░██░░
192/// ░██░██░░
193/// ░░░░░░░░
194/// ░░░░░░░░
195/// ░░░░░░░░
196/// ░░░░░░░░
197/// ░░░░░░░░
198/// ░░░░░░░░
199/// ```
200///
201/// ## `BASIC_UNICODE[35]: U+0023`
202/// `"#"`
203///
204/// ```text
205/// ░██░██░░
206/// ░██░██░░
207/// ███████░
208/// ░██░██░░
209/// ███████░
210/// ░██░██░░
211/// ░██░██░░
212/// ░░░░░░░░
213/// ```
214///
215/// ## `BASIC_UNICODE[36]: U+0024`
216/// `"$"`
217///
218/// ```text
219/// ░░██░░░░
220/// ░█████░░
221/// ██░░░░░░
222/// ░████░░░
223/// ░░░░██░░
224/// █████░░░
225/// ░░██░░░░
226/// ░░░░░░░░
227/// ```
228///
229/// ## `BASIC_UNICODE[37]: U+0025`
230/// `"%"`
231///
232/// ```text
233/// ░░░░░░░░
234/// ██░░░██░
235/// ██░░██░░
236/// ░░░██░░░
237/// ░░██░░░░
238/// ░██░░██░
239/// ██░░░██░
240/// ░░░░░░░░
241/// ```
242///
243/// ## `BASIC_UNICODE[38]: U+0026`
244/// `"&"`
245///
246/// ```text
247/// ░░███░░░
248/// ░██░██░░
249/// ░░███░░░
250/// ░███░██░
251/// ██░███░░
252/// ██░░██░░
253/// ░███░██░
254/// ░░░░░░░░
255/// ```
256///
257/// ## `BASIC_UNICODE[39]: U+0027`
258/// `"'"`
259///
260/// ```text
261/// ░██░░░░░
262/// ░██░░░░░
263/// ██░░░░░░
264/// ░░░░░░░░
265/// ░░░░░░░░
266/// ░░░░░░░░
267/// ░░░░░░░░
268/// ░░░░░░░░
269/// ```
270///
271/// ## `BASIC_UNICODE[40]: U+0028`
272/// `"("`
273///
274/// ```text
275/// ░░░██░░░
276/// ░░██░░░░
277/// ░██░░░░░
278/// ░██░░░░░
279/// ░██░░░░░
280/// ░░██░░░░
281/// ░░░██░░░
282/// ░░░░░░░░
283/// ```
284///
285/// ## `BASIC_UNICODE[41]: U+0029`
286/// `")"`
287///
288/// ```text
289/// ░██░░░░░
290/// ░░██░░░░
291/// ░░░██░░░
292/// ░░░██░░░
293/// ░░░██░░░
294/// ░░██░░░░
295/// ░██░░░░░
296/// ░░░░░░░░
297/// ```
298///
299/// ## `BASIC_UNICODE[42]: U+002A`
300/// `"*"`
301///
302/// ```text
303/// ░░░░░░░░
304/// ░██░░██░
305/// ░░████░░
306/// ████████
307/// ░░████░░
308/// ░██░░██░
309/// ░░░░░░░░
310/// ░░░░░░░░
311/// ```
312///
313/// ## `BASIC_UNICODE[43]: U+002B`
314/// `"+"`
315///
316/// ```text
317/// ░░░░░░░░
318/// ░░██░░░░
319/// ░░██░░░░
320/// ██████░░
321/// ░░██░░░░
322/// ░░██░░░░
323/// ░░░░░░░░
324/// ░░░░░░░░
325/// ```
326///
327/// ## `BASIC_UNICODE[44]: U+002C`
328/// `","`
329///
330/// ```text
331/// ░░░░░░░░
332/// ░░░░░░░░
333/// ░░░░░░░░
334/// ░░░░░░░░
335/// ░░░░░░░░
336/// ░░██░░░░
337/// ░░██░░░░
338/// ░██░░░░░
339/// ```
340///
341/// ## `BASIC_UNICODE[45]: U+002D`
342/// `"-"`
343///
344/// ```text
345/// ░░░░░░░░
346/// ░░░░░░░░
347/// ░░░░░░░░
348/// ██████░░
349/// ░░░░░░░░
350/// ░░░░░░░░
351/// ░░░░░░░░
352/// ░░░░░░░░
353/// ```
354///
355/// ## `BASIC_UNICODE[46]: U+002E`
356/// `"."`
357///
358/// ```text
359/// ░░░░░░░░
360/// ░░░░░░░░
361/// ░░░░░░░░
362/// ░░░░░░░░
363/// ░░░░░░░░
364/// ░░██░░░░
365/// ░░██░░░░
366/// ░░░░░░░░
367/// ```
368///
369/// ## `BASIC_UNICODE[47]: U+002F`
370/// `"/"`
371///
372/// ```text
373/// ░░░░░██░
374/// ░░░░██░░
375/// ░░░██░░░
376/// ░░██░░░░
377/// ░██░░░░░
378/// ██░░░░░░
379/// █░░░░░░░
380/// ░░░░░░░░
381/// ```
382///
383/// ## `BASIC_UNICODE[48]: U+0030`
384/// `"0"`
385///
386/// ```text
387/// ░█████░░
388/// ██░░░██░
389/// ██░░███░
390/// ██░████░
391/// ████░██░
392/// ███░░██░
393/// ░█████░░
394/// ░░░░░░░░
395/// ```
396///
397/// ## `BASIC_UNICODE[49]: U+0031`
398/// `"1"`
399///
400/// ```text
401/// ░░██░░░░
402/// ░███░░░░
403/// ░░██░░░░
404/// ░░██░░░░
405/// ░░██░░░░
406/// ░░██░░░░
407/// ██████░░
408/// ░░░░░░░░
409/// ```
410///
411/// ## `BASIC_UNICODE[50]: U+0032`
412/// `"2"`
413///
414/// ```text
415/// ░████░░░
416/// ██░░██░░
417/// ░░░░██░░
418/// ░░███░░░
419/// ░██░░░░░
420/// ██░░██░░
421/// ██████░░
422/// ░░░░░░░░
423/// ```
424///
425/// ## `BASIC_UNICODE[51]: U+0033`
426/// `"3"`
427///
428/// ```text
429/// ░████░░░
430/// ██░░██░░
431/// ░░░░██░░
432/// ░░███░░░
433/// ░░░░██░░
434/// ██░░██░░
435/// ░████░░░
436/// ░░░░░░░░
437/// ```
438///
439/// ## `BASIC_UNICODE[52]: U+0034`
440/// `"4"`
441///
442/// ```text
443/// ░░░███░░
444/// ░░████░░
445/// ░██░██░░
446/// ██░░██░░
447/// ███████░
448/// ░░░░██░░
449/// ░░░████░
450/// ░░░░░░░░
451/// ```
452///
453/// ## `BASIC_UNICODE[53]: U+0035`
454/// `"5"`
455///
456/// ```text
457/// ██████░░
458/// ██░░░░░░
459/// █████░░░
460/// ░░░░██░░
461/// ░░░░██░░
462/// ██░░██░░
463/// ░████░░░
464/// ░░░░░░░░
465/// ```
466///
467/// ## `BASIC_UNICODE[54]: U+0036`
468/// `"6"`
469///
470/// ```text
471/// ░░███░░░
472/// ░██░░░░░
473/// ██░░░░░░
474/// █████░░░
475/// ██░░██░░
476/// ██░░██░░
477/// ░████░░░
478/// ░░░░░░░░
479/// ```
480///
481/// ## `BASIC_UNICODE[55]: U+0037`
482/// `"7"`
483///
484/// ```text
485/// ██████░░
486/// ██░░██░░
487/// ░░░░██░░
488/// ░░░██░░░
489/// ░░██░░░░
490/// ░░██░░░░
491/// ░░██░░░░
492/// ░░░░░░░░
493/// ```
494///
495/// ## `BASIC_UNICODE[56]: U+0038`
496/// `"8"`
497///
498/// ```text
499/// ░████░░░
500/// ██░░██░░
501/// ██░░██░░
502/// ░████░░░
503/// ██░░██░░
504/// ██░░██░░
505/// ░████░░░
506/// ░░░░░░░░
507/// ```
508///
509/// ## `BASIC_UNICODE[57]: U+0039`
510/// `"9"`
511///
512/// ```text
513/// ░████░░░
514/// ██░░██░░
515/// ██░░██░░
516/// ░█████░░
517/// ░░░░██░░
518/// ░░░██░░░
519/// ░███░░░░
520/// ░░░░░░░░
521/// ```
522///
523/// ## `BASIC_UNICODE[58]: U+003A`
524/// `":"`
525///
526/// ```text
527/// ░░░░░░░░
528/// ░░██░░░░
529/// ░░██░░░░
530/// ░░░░░░░░
531/// ░░░░░░░░
532/// ░░██░░░░
533/// ░░██░░░░
534/// ░░░░░░░░
535/// ```
536///
537/// ## `BASIC_UNICODE[59]: U+003B`
538/// `";"`
539///
540/// ```text
541/// ░░░░░░░░
542/// ░░██░░░░
543/// ░░██░░░░
544/// ░░░░░░░░
545/// ░░░░░░░░
546/// ░░██░░░░
547/// ░░██░░░░
548/// ░██░░░░░
549/// ```
550///
551/// ## `BASIC_UNICODE[60]: U+003C`
552/// `"<"`
553///
554/// ```text
555/// ░░░██░░░
556/// ░░██░░░░
557/// ░██░░░░░
558/// ██░░░░░░
559/// ░██░░░░░
560/// ░░██░░░░
561/// ░░░██░░░
562/// ░░░░░░░░
563/// ```
564///
565/// ## `BASIC_UNICODE[61]: U+003D`
566/// `"="`
567///
568/// ```text
569/// ░░░░░░░░
570/// ░░░░░░░░
571/// ██████░░
572/// ░░░░░░░░
573/// ░░░░░░░░
574/// ██████░░
575/// ░░░░░░░░
576/// ░░░░░░░░
577/// ```
578///
579/// ## `BASIC_UNICODE[62]: U+003E`
580/// `">"`
581///
582/// ```text
583/// ░██░░░░░
584/// ░░██░░░░
585/// ░░░██░░░
586/// ░░░░██░░
587/// ░░░██░░░
588/// ░░██░░░░
589/// ░██░░░░░
590/// ░░░░░░░░
591/// ```
592///
593/// ## `BASIC_UNICODE[63]: U+003F`
594/// `"?"`
595///
596/// ```text
597/// ░████░░░
598/// ██░░██░░
599/// ░░░░██░░
600/// ░░░██░░░
601/// ░░██░░░░
602/// ░░░░░░░░
603/// ░░██░░░░
604/// ░░░░░░░░
605/// ```
606///
607/// ## `BASIC_UNICODE[64]: U+0040`
608/// `"@"`
609///
610/// ```text
611/// ░█████░░
612/// ██░░░██░
613/// ██░████░
614/// ██░████░
615/// ██░████░
616/// ██░░░░░░
617/// ░████░░░
618/// ░░░░░░░░
619/// ```
620///
621/// ## `BASIC_UNICODE[65]: U+0041`
622/// `"A"`
623///
624/// ```text
625/// ░░██░░░░
626/// ░████░░░
627/// ██░░██░░
628/// ██░░██░░
629/// ██████░░
630/// ██░░██░░
631/// ██░░██░░
632/// ░░░░░░░░
633/// ```
634///
635/// ## `BASIC_UNICODE[66]: U+0042`
636/// `"B"`
637///
638/// ```text
639/// ██████░░
640/// ░██░░██░
641/// ░██░░██░
642/// ░█████░░
643/// ░██░░██░
644/// ░██░░██░
645/// ██████░░
646/// ░░░░░░░░
647/// ```
648///
649/// ## `BASIC_UNICODE[67]: U+0043`
650/// `"C"`
651///
652/// ```text
653/// ░░████░░
654/// ░██░░██░
655/// ██░░░░░░
656/// ██░░░░░░
657/// ██░░░░░░
658/// ░██░░██░
659/// ░░████░░
660/// ░░░░░░░░
661/// ```
662///
663/// ## `BASIC_UNICODE[68]: U+0044`
664/// `"D"`
665///
666/// ```text
667/// █████░░░
668/// ░██░██░░
669/// ░██░░██░
670/// ░██░░██░
671/// ░██░░██░
672/// ░██░██░░
673/// █████░░░
674/// ░░░░░░░░
675/// ```
676///
677/// ## `BASIC_UNICODE[69]: U+0045`
678/// `"E"`
679///
680/// ```text
681/// ███████░
682/// ░██░░░█░
683/// ░██░█░░░
684/// ░████░░░
685/// ░██░█░░░
686/// ░██░░░█░
687/// ███████░
688/// ░░░░░░░░
689/// ```
690///
691/// ## `BASIC_UNICODE[70]: U+0046`
692/// `"F"`
693///
694/// ```text
695/// ███████░
696/// ░██░░░█░
697/// ░██░█░░░
698/// ░████░░░
699/// ░██░█░░░
700/// ░██░░░░░
701/// ████░░░░
702/// ░░░░░░░░
703/// ```
704///
705/// ## `BASIC_UNICODE[71]: U+0047`
706/// `"G"`
707///
708/// ```text
709/// ░░████░░
710/// ░██░░██░
711/// ██░░░░░░
712/// ██░░░░░░
713/// ██░░███░
714/// ░██░░██░
715/// ░░█████░
716/// ░░░░░░░░
717/// ```
718///
719/// ## `BASIC_UNICODE[72]: U+0048`
720/// `"H"`
721///
722/// ```text
723/// ██░░██░░
724/// ██░░██░░
725/// ██░░██░░
726/// ██████░░
727/// ██░░██░░
728/// ██░░██░░
729/// ██░░██░░
730/// ░░░░░░░░
731/// ```
732///
733/// ## `BASIC_UNICODE[73]: U+0049`
734/// `"I"`
735///
736/// ```text
737/// ░████░░░
738/// ░░██░░░░
739/// ░░██░░░░
740/// ░░██░░░░
741/// ░░██░░░░
742/// ░░██░░░░
743/// ░████░░░
744/// ░░░░░░░░
745/// ```
746///
747/// ## `BASIC_UNICODE[74]: U+004A`
748/// `"J"`
749///
750/// ```text
751/// ░░░████░
752/// ░░░░██░░
753/// ░░░░██░░
754/// ░░░░██░░
755/// ██░░██░░
756/// ██░░██░░
757/// ░████░░░
758/// ░░░░░░░░
759/// ```
760///
761/// ## `BASIC_UNICODE[75]: U+004B`
762/// `"K"`
763///
764/// ```text
765/// ███░░██░
766/// ░██░░██░
767/// ░██░██░░
768/// ░████░░░
769/// ░██░██░░
770/// ░██░░██░
771/// ███░░██░
772/// ░░░░░░░░
773/// ```
774///
775/// ## `BASIC_UNICODE[76]: U+004C`
776/// `"L"`
777///
778/// ```text
779/// ████░░░░
780/// ░██░░░░░
781/// ░██░░░░░
782/// ░██░░░░░
783/// ░██░░░█░
784/// ░██░░██░
785/// ███████░
786/// ░░░░░░░░
787/// ```
788///
789/// ## `BASIC_UNICODE[77]: U+004D`
790/// `"M"`
791///
792/// ```text
793/// ██░░░██░
794/// ███░███░
795/// ███████░
796/// ███████░
797/// ██░█░██░
798/// ██░░░██░
799/// ██░░░██░
800/// ░░░░░░░░
801/// ```
802///
803/// ## `BASIC_UNICODE[78]: U+004E`
804/// `"N"`
805///
806/// ```text
807/// ██░░░██░
808/// ███░░██░
809/// ████░██░
810/// ██░████░
811/// ██░░███░
812/// ██░░░██░
813/// ██░░░██░
814/// ░░░░░░░░
815/// ```
816///
817/// ## `BASIC_UNICODE[79]: U+004F`
818/// `"O"`
819///
820/// ```text
821/// ░░███░░░
822/// ░██░██░░
823/// ██░░░██░
824/// ██░░░██░
825/// ██░░░██░
826/// ░██░██░░
827/// ░░███░░░
828/// ░░░░░░░░
829/// ```
830///
831/// ## `BASIC_UNICODE[80]: U+0050`
832/// `"P"`
833///
834/// ```text
835/// ██████░░
836/// ░██░░██░
837/// ░██░░██░
838/// ░█████░░
839/// ░██░░░░░
840/// ░██░░░░░
841/// ████░░░░
842/// ░░░░░░░░
843/// ```
844///
845/// ## `BASIC_UNICODE[81]: U+0051`
846/// `"Q"`
847///
848/// ```text
849/// ░████░░░
850/// ██░░██░░
851/// ██░░██░░
852/// ██░░██░░
853/// ██░███░░
854/// ░████░░░
855/// ░░░███░░
856/// ░░░░░░░░
857/// ```
858///
859/// ## `BASIC_UNICODE[82]: U+0052`
860/// `"R"`
861///
862/// ```text
863/// ██████░░
864/// ░██░░██░
865/// ░██░░██░
866/// ░█████░░
867/// ░██░██░░
868/// ░██░░██░
869/// ███░░██░
870/// ░░░░░░░░
871/// ```
872///
873/// ## `BASIC_UNICODE[83]: U+0053`
874/// `"S"`
875///
876/// ```text
877/// ░████░░░
878/// ██░░██░░
879/// ███░░░░░
880/// ░███░░░░
881/// ░░░███░░
882/// ██░░██░░
883/// ░████░░░
884/// ░░░░░░░░
885/// ```
886///
887/// ## `BASIC_UNICODE[84]: U+0054`
888/// `"T"`
889///
890/// ```text
891/// ██████░░
892/// █░██░█░░
893/// ░░██░░░░
894/// ░░██░░░░
895/// ░░██░░░░
896/// ░░██░░░░
897/// ░████░░░
898/// ░░░░░░░░
899/// ```
900///
901/// ## `BASIC_UNICODE[85]: U+0055`
902/// `"U"`
903///
904/// ```text
905/// ██░░██░░
906/// ██░░██░░
907/// ██░░██░░
908/// ██░░██░░
909/// ██░░██░░
910/// ██░░██░░
911/// ██████░░
912/// ░░░░░░░░
913/// ```
914///
915/// ## `BASIC_UNICODE[86]: U+0056`
916/// `"V"`
917///
918/// ```text
919/// ██░░██░░
920/// ██░░██░░
921/// ██░░██░░
922/// ██░░██░░
923/// ██░░██░░
924/// ░████░░░
925/// ░░██░░░░
926/// ░░░░░░░░
927/// ```
928///
929/// ## `BASIC_UNICODE[87]: U+0057`
930/// `"W"`
931///
932/// ```text
933/// ██░░░██░
934/// ██░░░██░
935/// ██░░░██░
936/// ██░█░██░
937/// ███████░
938/// ███░███░
939/// ██░░░██░
940/// ░░░░░░░░
941/// ```
942///
943/// ## `BASIC_UNICODE[88]: U+0058`
944/// `"X"`
945///
946/// ```text
947/// ██░░░██░
948/// ██░░░██░
949/// ░██░██░░
950/// ░░███░░░
951/// ░░███░░░
952/// ░██░██░░
953/// ██░░░██░
954/// ░░░░░░░░
955/// ```
956///
957/// ## `BASIC_UNICODE[89]: U+0059`
958/// `"Y"`
959///
960/// ```text
961/// ██░░██░░
962/// ██░░██░░
963/// ██░░██░░
964/// ░████░░░
965/// ░░██░░░░
966/// ░░██░░░░
967/// ░████░░░
968/// ░░░░░░░░
969/// ```
970///
971/// ## `BASIC_UNICODE[90]: U+005A`
972/// `"Z"`
973///
974/// ```text
975/// ███████░
976/// ██░░░██░
977/// █░░░██░░
978/// ░░░██░░░
979/// ░░██░░█░
980/// ░██░░██░
981/// ███████░
982/// ░░░░░░░░
983/// ```
984///
985/// ## `BASIC_UNICODE[91]: U+005B`
986/// `"["`
987///
988/// ```text
989/// ░████░░░
990/// ░██░░░░░
991/// ░██░░░░░
992/// ░██░░░░░
993/// ░██░░░░░
994/// ░██░░░░░
995/// ░████░░░
996/// ░░░░░░░░
997/// ```
998///
999/// ## `BASIC_UNICODE[92]: U+005C`
1000/// `"\"`
1001///
1002/// ```text
1003/// ██░░░░░░
1004/// ░██░░░░░
1005/// ░░██░░░░
1006/// ░░░██░░░
1007/// ░░░░██░░
1008/// ░░░░░██░
1009/// ░░░░░░█░
1010/// ░░░░░░░░
1011/// ```
1012///
1013/// ## `BASIC_UNICODE[93]: U+005D`
1014/// `"]"`
1015///
1016/// ```text
1017/// ░████░░░
1018/// ░░░██░░░
1019/// ░░░██░░░
1020/// ░░░██░░░
1021/// ░░░██░░░
1022/// ░░░██░░░
1023/// ░████░░░
1024/// ░░░░░░░░
1025/// ```
1026///
1027/// ## `BASIC_UNICODE[94]: U+005E`
1028/// `"^"`
1029///
1030/// ```text
1031/// ░░░█░░░░
1032/// ░░███░░░
1033/// ░██░██░░
1034/// ██░░░██░
1035/// ░░░░░░░░
1036/// ░░░░░░░░
1037/// ░░░░░░░░
1038/// ░░░░░░░░
1039/// ```
1040///
1041/// ## `BASIC_UNICODE[95]: U+005F`
1042/// `"_"`
1043///
1044/// ```text
1045/// ░░░░░░░░
1046/// ░░░░░░░░
1047/// ░░░░░░░░
1048/// ░░░░░░░░
1049/// ░░░░░░░░
1050/// ░░░░░░░░
1051/// ░░░░░░░░
1052/// ████████
1053/// ```
1054///
1055/// ## `BASIC_UNICODE[96]: U+0060`
1056/// <pre>"`"</pre>
1057///
1058/// ```text
1059/// ░░██░░░░
1060/// ░░██░░░░
1061/// ░░░██░░░
1062/// ░░░░░░░░
1063/// ░░░░░░░░
1064/// ░░░░░░░░
1065/// ░░░░░░░░
1066/// ░░░░░░░░
1067/// ```
1068///
1069/// ## `BASIC_UNICODE[97]: U+0061`
1070/// `"a"`
1071///
1072/// ```text
1073/// ░░░░░░░░
1074/// ░░░░░░░░
1075/// ░████░░░
1076/// ░░░░██░░
1077/// ░█████░░
1078/// ██░░██░░
1079/// ░███░██░
1080/// ░░░░░░░░
1081/// ```
1082///
1083/// ## `BASIC_UNICODE[98]: U+0062`
1084/// `"b"`
1085///
1086/// ```text
1087/// ███░░░░░
1088/// ░██░░░░░
1089/// ░██░░░░░
1090/// ░█████░░
1091/// ░██░░██░
1092/// ░██░░██░
1093/// ██░███░░
1094/// ░░░░░░░░
1095/// ```
1096///
1097/// ## `BASIC_UNICODE[99]: U+0063`
1098/// `"c"`
1099///
1100/// ```text
1101/// ░░░░░░░░
1102/// ░░░░░░░░
1103/// ░████░░░
1104/// ██░░██░░
1105/// ██░░░░░░
1106/// ██░░██░░
1107/// ░████░░░
1108/// ░░░░░░░░
1109/// ```
1110///
1111/// ## `BASIC_UNICODE[100]: U+0064`
1112/// `"d"`
1113///
1114/// ```text
1115/// ░░░███░░
1116/// ░░░░██░░
1117/// ░░░░██░░
1118/// ░█████░░
1119/// ██░░██░░
1120/// ██░░██░░
1121/// ░███░██░
1122/// ░░░░░░░░
1123/// ```
1124///
1125/// ## `BASIC_UNICODE[101]: U+0065`
1126/// `"e"`
1127///
1128/// ```text
1129/// ░░░░░░░░
1130/// ░░░░░░░░
1131/// ░████░░░
1132/// ██░░██░░
1133/// ██████░░
1134/// ██░░░░░░
1135/// ░████░░░
1136/// ░░░░░░░░
1137/// ```
1138///
1139/// ## `BASIC_UNICODE[102]: U+0066`
1140/// `"f"`
1141///
1142/// ```text
1143/// ░░███░░░
1144/// ░██░██░░
1145/// ░██░░░░░
1146/// ████░░░░
1147/// ░██░░░░░
1148/// ░██░░░░░
1149/// ████░░░░
1150/// ░░░░░░░░
1151/// ```
1152///
1153/// ## `BASIC_UNICODE[103]: U+0067`
1154/// `"g"`
1155///
1156/// ```text
1157/// ░░░░░░░░
1158/// ░░░░░░░░
1159/// ░███░██░
1160/// ██░░██░░
1161/// ██░░██░░
1162/// ░█████░░
1163/// ░░░░██░░
1164/// █████░░░
1165/// ```
1166///
1167/// ## `BASIC_UNICODE[104]: U+0068`
1168/// `"h"`
1169///
1170/// ```text
1171/// ███░░░░░
1172/// ░██░░░░░
1173/// ░██░██░░
1174/// ░███░██░
1175/// ░██░░██░
1176/// ░██░░██░
1177/// ███░░██░
1178/// ░░░░░░░░
1179/// ```
1180///
1181/// ## `BASIC_UNICODE[105]: U+0069`
1182/// `"i"`
1183///
1184/// ```text
1185/// ░░██░░░░
1186/// ░░░░░░░░
1187/// ░███░░░░
1188/// ░░██░░░░
1189/// ░░██░░░░
1190/// ░░██░░░░
1191/// ░████░░░
1192/// ░░░░░░░░
1193/// ```
1194///
1195/// ## `BASIC_UNICODE[106]: U+006A`
1196/// `"j"`
1197///
1198/// ```text
1199/// ░░░░██░░
1200/// ░░░░░░░░
1201/// ░░░░██░░
1202/// ░░░░██░░
1203/// ░░░░██░░
1204/// ██░░██░░
1205/// ██░░██░░
1206/// ░████░░░
1207/// ```
1208///
1209/// ## `BASIC_UNICODE[107]: U+006B`
1210/// `"k"`
1211///
1212/// ```text
1213/// ███░░░░░
1214/// ░██░░░░░
1215/// ░██░░██░
1216/// ░██░██░░
1217/// ░████░░░
1218/// ░██░██░░
1219/// ███░░██░
1220/// ░░░░░░░░
1221/// ```
1222///
1223/// ## `BASIC_UNICODE[108]: U+006C`
1224/// `"l"`
1225///
1226/// ```text
1227/// ░███░░░░
1228/// ░░██░░░░
1229/// ░░██░░░░
1230/// ░░██░░░░
1231/// ░░██░░░░
1232/// ░░██░░░░
1233/// ░████░░░
1234/// ░░░░░░░░
1235/// ```
1236///
1237/// ## `BASIC_UNICODE[109]: U+006D`
1238/// `"m"`
1239///
1240/// ```text
1241/// ░░░░░░░░
1242/// ░░░░░░░░
1243/// ██░░██░░
1244/// ███████░
1245/// ███████░
1246/// ██░█░██░
1247/// ██░░░██░
1248/// ░░░░░░░░
1249/// ```
1250///
1251/// ## `BASIC_UNICODE[110]: U+006E`
1252/// `"n"`
1253///
1254/// ```text
1255/// ░░░░░░░░
1256/// ░░░░░░░░
1257/// █████░░░
1258/// ██░░██░░
1259/// ██░░██░░
1260/// ██░░██░░
1261/// ██░░██░░
1262/// ░░░░░░░░
1263/// ```
1264///
1265/// ## `BASIC_UNICODE[111]: U+006F`
1266/// `"o"`
1267///
1268/// ```text
1269/// ░░░░░░░░
1270/// ░░░░░░░░
1271/// ░████░░░
1272/// ██░░██░░
1273/// ██░░██░░
1274/// ██░░██░░
1275/// ░████░░░
1276/// ░░░░░░░░
1277/// ```
1278///
1279/// ## `BASIC_UNICODE[112]: U+0070`
1280/// `"p"`
1281///
1282/// ```text
1283/// ░░░░░░░░
1284/// ░░░░░░░░
1285/// ██░███░░
1286/// ░██░░██░
1287/// ░██░░██░
1288/// ░█████░░
1289/// ░██░░░░░
1290/// ████░░░░
1291/// ```
1292///
1293/// ## `BASIC_UNICODE[113]: U+0071`
1294/// `"q"`
1295///
1296/// ```text
1297/// ░░░░░░░░
1298/// ░░░░░░░░
1299/// ░███░██░
1300/// ██░░██░░
1301/// ██░░██░░
1302/// ░█████░░
1303/// ░░░░██░░
1304/// ░░░████░
1305/// ```
1306///
1307/// ## `BASIC_UNICODE[114]: U+0072`
1308/// `"r"`
1309///
1310/// ```text
1311/// ░░░░░░░░
1312/// ░░░░░░░░
1313/// ██░███░░
1314/// ░███░██░
1315/// ░██░░██░
1316/// ░██░░░░░
1317/// ████░░░░
1318/// ░░░░░░░░
1319/// ```
1320///
1321/// ## `BASIC_UNICODE[115]: U+0073`
1322/// `"s"`
1323///
1324/// ```text
1325/// ░░░░░░░░
1326/// ░░░░░░░░
1327/// ░█████░░
1328/// ██░░░░░░
1329/// ░████░░░
1330/// ░░░░██░░
1331/// █████░░░
1332/// ░░░░░░░░
1333/// ```
1334///
1335/// ## `BASIC_UNICODE[116]: U+0074`
1336/// `"t"`
1337///
1338/// ```text
1339/// ░░░█░░░░
1340/// ░░██░░░░
1341/// ░█████░░
1342/// ░░██░░░░
1343/// ░░██░░░░
1344/// ░░██░█░░
1345/// ░░░██░░░
1346/// ░░░░░░░░
1347/// ```
1348///
1349/// ## `BASIC_UNICODE[117]: U+0075`
1350/// `"u"`
1351///
1352/// ```text
1353/// ░░░░░░░░
1354/// ░░░░░░░░
1355/// ██░░██░░
1356/// ██░░██░░
1357/// ██░░██░░
1358/// ██░░██░░
1359/// ░███░██░
1360/// ░░░░░░░░
1361/// ```
1362///
1363/// ## `BASIC_UNICODE[118]: U+0076`
1364/// `"v"`
1365///
1366/// ```text
1367/// ░░░░░░░░
1368/// ░░░░░░░░
1369/// ██░░██░░
1370/// ██░░██░░
1371/// ██░░██░░
1372/// ░████░░░
1373/// ░░██░░░░
1374/// ░░░░░░░░
1375/// ```
1376///
1377/// ## `BASIC_UNICODE[119]: U+0077`
1378/// `"w"`
1379///
1380/// ```text
1381/// ░░░░░░░░
1382/// ░░░░░░░░
1383/// ██░░░██░
1384/// ██░█░██░
1385/// ███████░
1386/// ███████░
1387/// ░██░██░░
1388/// ░░░░░░░░
1389/// ```
1390///
1391/// ## `BASIC_UNICODE[120]: U+0078`
1392/// `"x"`
1393///
1394/// ```text
1395/// ░░░░░░░░
1396/// ░░░░░░░░
1397/// ██░░░██░
1398/// ░██░██░░
1399/// ░░███░░░
1400/// ░██░██░░
1401/// ██░░░██░
1402/// ░░░░░░░░
1403/// ```
1404///
1405/// ## `BASIC_UNICODE[121]: U+0079`
1406/// `"y"`
1407///
1408/// ```text
1409/// ░░░░░░░░
1410/// ░░░░░░░░
1411/// ██░░██░░
1412/// ██░░██░░
1413/// ██░░██░░
1414/// ░█████░░
1415/// ░░░░██░░
1416/// █████░░░
1417/// ```
1418///
1419/// ## `BASIC_UNICODE[122]: U+007A`
1420/// `"z"`
1421///
1422/// ```text
1423/// ░░░░░░░░
1424/// ░░░░░░░░
1425/// ██████░░
1426/// █░░██░░░
1427/// ░░██░░░░
1428/// ░██░░█░░
1429/// ██████░░
1430/// ░░░░░░░░
1431/// ```
1432///
1433/// ## `BASIC_UNICODE[123]: U+007B`
1434/// `"{"`
1435///
1436/// ```text
1437/// ░░░███░░
1438/// ░░██░░░░
1439/// ░░██░░░░
1440/// ███░░░░░
1441/// ░░██░░░░
1442/// ░░██░░░░
1443/// ░░░███░░
1444/// ░░░░░░░░
1445/// ```
1446///
1447/// ## `BASIC_UNICODE[124]: U+007C`
1448/// `"|"`
1449///
1450/// ```text
1451/// ░░░██░░░
1452/// ░░░██░░░
1453/// ░░░██░░░
1454/// ░░░░░░░░
1455/// ░░░██░░░
1456/// ░░░██░░░
1457/// ░░░██░░░
1458/// ░░░░░░░░
1459/// ```
1460///
1461/// ## `BASIC_UNICODE[125]: U+007D`
1462/// `"}"`
1463///
1464/// ```text
1465/// ███░░░░░
1466/// ░░██░░░░
1467/// ░░██░░░░
1468/// ░░░███░░
1469/// ░░██░░░░
1470/// ░░██░░░░
1471/// ███░░░░░
1472/// ░░░░░░░░
1473/// ```
1474///
1475/// ## `BASIC_UNICODE[126]: U+007E`
1476/// `"~"`
1477///
1478/// ```text
1479/// ░███░██░
1480/// ██░███░░
1481/// ░░░░░░░░
1482/// ░░░░░░░░
1483/// ░░░░░░░░
1484/// ░░░░░░░░
1485/// ░░░░░░░░
1486/// ░░░░░░░░
1487/// ```
1488///
1489/// ## `BASIC_UNICODE[127]: U+007F` `WHITESPACE`
1490pub const BASIC_FONTS: BasicFonts = BasicFonts(BASIC_UNICODE);
1491
1492/// Strong-typed collection wrapper for [BASIC_UNICODE](./constant.BASIC_UNICODE.html).
1493pub struct BasicFonts([FontUnicode; 128]);
1494
1495impl fmt::Debug for BasicFonts {
1496 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1497 write!(f, stringify!(BASIC_UNICODE))
1498 }
1499}
1500
1501impl PartialEq for BasicFonts {
1502 fn eq(&self, other: &BasicFonts) -> bool {
1503 self.0
1504 .iter()
1505 .zip(other.0.iter())
1506 .fold(true, |eq, (a, b)| eq && a == b)
1507 }
1508}
1509
1510impl BasicFonts {
1511 /// Create a new collection of `BASIC_UNICODE` fonts.
1512 pub fn new() -> Self {
1513 BasicFonts(BASIC_UNICODE)
1514 }
1515}
1516
1517impl Default for BasicFonts {
1518 fn default() -> Self {
1519 BasicFonts::new()
1520 }
1521}
1522
1523impl UnicodeFonts for BasicFonts {
1524 fn get(&self, key: char) -> Option<[u8; 8]> {
1525 match self.get_font(key) {
1526 Some(font) => Some(font.into()),
1527 None => None,
1528 }
1529 }
1530
1531 fn get_font(&self, key: char) -> Option<FontUnicode> {
1532 match self.0.binary_search_by_key(&key, |&f| f.char()) {
1533 Ok(idx) => Some(self.0[idx]),
1534 _ => None,
1535 }
1536 }
1537
1538 fn iter(&self) -> ::core::slice::Iter<FontUnicode> {
1539 self.0.iter()
1540 }
1541
1542 #[cfg(feature = "std")]
1543 fn print_set(&self) {
1544 println!();
1545 println!("# `{:?}`", self);
1546 for (idx, font) in self.0.iter().enumerate() {
1547 print!("## `{:?}[{:?}]: U+{:04X}`", self, idx, font.char() as u32,);
1548 if font.is_whitespace() {
1549 println!(" `WHITESPACE`");
1550 } else {
1551 println!();
1552 println!("`{:?}`", font.to_string());
1553 println!();
1554 println!("```text");
1555 for x in &font.byte_array() {
1556 for bit in 0..8 {
1557 match *x & 1 << bit {
1558 0 => print!("░"),
1559 _ => print!("█"),
1560 }
1561 }
1562 println!();
1563 }
1564 println!("```");
1565 println!();
1566 }
1567 }
1568 }
1569
1570 #[cfg(feature = "std")]
1571 fn to_vec(&self) -> Vec<(char, FontUnicode)> {
1572 self.0.iter().fold(Vec::with_capacity(128), |mut v, font| {
1573 v.push((font.char(), *font));
1574 v
1575 })
1576 }
1577}
1578
1579#[cfg(test)]
1580mod tests {
1581 use super::*;
1582
1583 #[test]
1584 fn basic_fonts_inner_array_is_sorted_by_unicode_key() {
1585 let mut sorted = BASIC_UNICODE;
1586 sorted.sort_by_key(|f| f.char());
1587 for (idx, key) in sorted.iter().enumerate() {
1588 assert_eq!(BASIC_UNICODE[idx].char(), key.char());
1589 }
1590 }
1591
1592 #[test]
1593 fn basic_set_implements_default_trait_with_method_new() {
1594 let basic_set: BasicFonts = Default::default();
1595 assert_eq!(basic_set, BasicFonts::new());
1596 }
1597
1598 #[test]
1599 fn basic_fonts_constant_is_equal_to_a_new_instance() {
1600 assert_eq!(BASIC_FONTS, BasicFonts::new());
1601 }
1602
1603 #[test]
1604 fn basic_fonts_constant_wraps_basic_unicode_constant() {
1605 let basic = BasicFonts::new();
1606 assert!(basic.0.len() == BASIC_UNICODE.len());
1607 for (idx, font) in basic.0.iter().enumerate() {
1608 assert_eq!(font, &BASIC_UNICODE[idx]);
1609 }
1610 }
1611}