Skip to main content
← PSoXide SDK guides and examples · SDK f2fec1c301f1 · All Cargo features enabled; check feature gates before use.

psx_font/fonts/
boxdraw.rs

1// This file is GENERATED by `psoxide-dev gen-fonts` from
2// `vendor/font8x8_box.h`. Do NOT edit by hand - re-run the
3// generator if the upstream font source changes.
4//
5// License: Public Domain (see `vendor/PROVENANCE.md`).
6
7use crate::{BitOrder, BitmapFont};
8
9/// Box-drawing U+2500..U+257F.
10///
11/// 8x8 pixels per glyph, 1 bit per pixel, LSB = leftmost.
12pub const BOXDRAW_BITMAP: [u8; 1024] = [
13    0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, // U+2500
14    0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, // U+2501
15    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, // U+2502
16    0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, // U+2503
17    0x00, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, // U+2504
18    0x00, 0x00, 0x00, 0xbb, 0xbb, 0x00, 0x00, 0x00, // U+2505
19    0x08, 0x00, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, // U+2506
20    0x18, 0x00, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, // U+2507
21    0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, // U+2508
22    0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x00, // U+2509
23    0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, // U+250A
24    0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, // U+250B
25    0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, // U+250C
26    0x00, 0x00, 0x00, 0xf8, 0xf8, 0x08, 0x08, 0x08, // U+250D
27    0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, // U+250E
28    0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18, // U+250F
29    0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x08, // U+2510
30    0x00, 0x00, 0x00, 0x0f, 0x0f, 0x08, 0x08, 0x08, // U+2511
31    0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, // U+2512
32    0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, // U+2513
33    0x08, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, // U+2514
34    0x08, 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, // U+2515
35    0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, // U+2516
36    0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00, // U+2517
37    0x08, 0x08, 0x08, 0x08, 0x0f, 0x00, 0x00, 0x00, // U+2518
38    0x08, 0x08, 0x08, 0x0f, 0x0f, 0x00, 0x00, 0x00, // U+2519
39    0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, // U+251A
40    0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00, // U+251B
41    0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x08, // U+251C
42    0x08, 0x08, 0x08, 0xf8, 0xf8, 0x08, 0x08, 0x08, // U+251D
43    0x18, 0x18, 0x18, 0x18, 0xf8, 0x08, 0x08, 0x08, // U+251E
44    0x08, 0x08, 0x08, 0x08, 0xf8, 0x18, 0x18, 0x18, // U+251F
45    0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, // U+2520
46    0x18, 0x18, 0x18, 0xf8, 0xf8, 0x08, 0x08, 0x08, // U+2521
47    0x08, 0x08, 0x08, 0xf8, 0xf8, 0x18, 0x18, 0x18, // U+2522
48    0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18, // U+2523
49    0x08, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08, // U+2524
50    0x08, 0x08, 0x08, 0x0f, 0x0f, 0x08, 0x08, 0x08, // U+2525
51    0x18, 0x18, 0x18, 0x18, 0x1f, 0x08, 0x08, 0x08, // U+2526
52    0x08, 0x08, 0x08, 0x08, 0x1f, 0x18, 0x18, 0x18, // U+2527
53    0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, // U+2528
54    0x18, 0x18, 0x18, 0x1f, 0x1f, 0x08, 0x08, 0x08, // U+2529
55    0x08, 0x08, 0x08, 0x1f, 0x1f, 0x18, 0x18, 0x18, // U+252A
56    0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18, // U+252B
57    0x00, 0x00, 0x00, 0x00, 0xff, 0x08, 0x08, 0x08, // U+252C
58    0x00, 0x00, 0x00, 0x0f, 0xff, 0x08, 0x08, 0x08, // U+252D
59    0x00, 0x00, 0x00, 0xf8, 0xff, 0x08, 0x08, 0x08, // U+252E
60    0x00, 0x00, 0x00, 0xff, 0xff, 0x08, 0x08, 0x08, // U+252F
61    0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, // U+2530
62    0x00, 0x00, 0x00, 0x1f, 0xff, 0x18, 0x18, 0x18, // U+2531
63    0x00, 0x00, 0x00, 0xf8, 0xff, 0x18, 0x18, 0x18, // U+2532
64    0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18, // U+2533
65    0x08, 0x08, 0x08, 0x08, 0xff, 0x00, 0x00, 0x00, // U+2534
66    0x08, 0x08, 0x08, 0x0f, 0xff, 0x00, 0x00, 0x00, // U+2535
67    0x08, 0x08, 0x08, 0xf8, 0xff, 0x00, 0x00, 0x00, // U+2536
68    0x08, 0x08, 0x08, 0xff, 0xff, 0x00, 0x00, 0x00, // U+2537
69    0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, // U+2538
70    0x18, 0x18, 0x18, 0x1f, 0xff, 0x00, 0x00, 0x00, // U+2539
71    0x18, 0x18, 0x18, 0xf8, 0xff, 0x00, 0x00, 0x00, // U+253A
72    0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, // U+253B
73    0x08, 0x08, 0x08, 0x08, 0xff, 0x08, 0x08, 0x08, // U+253C
74    0x08, 0x08, 0x08, 0x0f, 0xff, 0x08, 0x08, 0x08, // U+253D
75    0x08, 0x08, 0x08, 0xf8, 0xff, 0x08, 0x08, 0x08, // U+253E
76    0x08, 0x08, 0x08, 0xff, 0xff, 0x08, 0x08, 0x08, // U+253F
77    0x18, 0x18, 0x18, 0x18, 0xff, 0x08, 0x08, 0x08, // U+2540
78    0x08, 0x08, 0x08, 0x08, 0xff, 0x18, 0x18, 0x18, // U+2541
79    0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, // U+2542
80    0x18, 0x18, 0x18, 0x1f, 0xff, 0x08, 0x08, 0x08, // U+2543
81    0x18, 0x18, 0x18, 0xf8, 0xff, 0x08, 0x08, 0x08, // U+2544
82    0x08, 0x08, 0x08, 0x1f, 0xff, 0x18, 0x18, 0x18, // U+2545
83    0x08, 0x08, 0x08, 0xf8, 0xff, 0x18, 0x18, 0x18, // U+2546
84    0x08, 0x08, 0x08, 0xff, 0xff, 0x18, 0x18, 0x18, // U+2547
85    0x18, 0x18, 0x18, 0xff, 0xff, 0x08, 0x08, 0x08, // U+2548
86    0x18, 0x18, 0x18, 0xf8, 0xff, 0x18, 0x18, 0x18, // U+2549
87    0x18, 0x18, 0x18, 0x1f, 0xff, 0x18, 0x18, 0x18, // U+254A
88    0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, // U+254B
89    0x00, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, // U+254C
90    0x00, 0x00, 0x00, 0xe7, 0xe7, 0x00, 0x00, 0x00, // U+254D
91    0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, // U+254E
92    0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, // U+254F
93    0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, // U+2550
94    0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, // U+2551
95    0x00, 0x00, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x08, // U+2552
96    0x00, 0x00, 0x00, 0x00, 0xfc, 0x14, 0x14, 0x14, // U+2553
97    0x00, 0x00, 0x00, 0xfc, 0x04, 0xf4, 0x14, 0x14, // U+2554
98    0x00, 0x00, 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x08, // U+2555
99    0x00, 0x00, 0x00, 0x00, 0x1f, 0x14, 0x14, 0x14, // U+2556
100    0x00, 0x00, 0x00, 0x1f, 0x10, 0x17, 0x14, 0x14, // U+2557
101    0x08, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0x00, // U+2558
102    0x14, 0x14, 0x14, 0x14, 0xfc, 0x00, 0x00, 0x00, // U+2559
103    0x14, 0x14, 0x14, 0xf4, 0x04, 0xfc, 0x00, 0x00, // U+255A
104    0x08, 0x08, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x00, // U+255B
105    0x14, 0x14, 0x14, 0x14, 0x1f, 0x00, 0x00, 0x00, // U+255C
106    0x14, 0x14, 0x14, 0x17, 0x10, 0x1f, 0x00, 0x00, // U+255D
107    0x08, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x08, // U+255E
108    0x14, 0x14, 0x14, 0x14, 0xf4, 0x14, 0x14, 0x14, // U+255F
109    0x14, 0x14, 0x14, 0xf4, 0x04, 0xf4, 0x14, 0x14, // U+2560
110    0x08, 0x08, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, // U+2561
111    0x14, 0x14, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, // U+2562
112    0x14, 0x14, 0x14, 0x17, 0x10, 0x17, 0x14, 0x14, // U+2563
113    0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x08, 0x08, // U+2564
114    0x00, 0x00, 0x00, 0x00, 0xff, 0x14, 0x14, 0x14, // U+2565
115    0x00, 0x00, 0x00, 0xff, 0x00, 0xf7, 0x14, 0x14, // U+2566
116    0x08, 0x08, 0x08, 0xff, 0x00, 0xff, 0x00, 0x00, // U+2567
117    0x14, 0x14, 0x14, 0x14, 0xff, 0x00, 0x00, 0x00, // U+2568
118    0x14, 0x14, 0x14, 0xf7, 0x00, 0xff, 0x00, 0x00, // U+2569
119    0x08, 0x08, 0x08, 0xff, 0x08, 0xff, 0x08, 0x08, // U+256A
120    0x14, 0x14, 0x14, 0x14, 0xff, 0x14, 0x14, 0x14, // U+256B
121    0x14, 0x14, 0x14, 0xf7, 0x00, 0xf7, 0x14, 0x14, // U+256C
122    0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, // U+256D
123    0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, // U+256E
124    0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, // U+256F
125    0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, // U+2570
126    0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, // U+2571
127    0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // U+2572
128    0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, // U+2573
129    0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, // U+2574
130    0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // U+2575
131    0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, // U+2576
132    0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, // U+2577
133    0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, // U+2578
134    0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, // U+2579
135    0x00, 0x00, 0x00, 0xf8, 0xf8, 0x00, 0x00, 0x00, // U+257A
136    0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, // U+257B
137    0x00, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, // U+257C
138    0x08, 0x08, 0x08, 0x08, 0x18, 0x18, 0x18, 0x18, // U+257D
139    0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, // U+257E
140    0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x08, 0x08, // U+257F
141];
142
143/// [`BitmapFont`] descriptor for the `boxdraw` bitmap above.
144/// Pass into [`crate::FontAtlas::upload`] to install it in VRAM.
145pub const BOXDRAW: BitmapFont = BitmapFont {
146    glyph_w: 8,
147    glyph_h: 8,
148    first_char: 0x2500,
149    glyph_count: 128,
150    bitmap: &BOXDRAW_BITMAP,
151    glyph_advances: None,
152    advance_x: 8,
153    line_height: 8,
154    bit_order: BitOrder::Lsb,
155};