Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
CTCaer
GitHub Repository: CTCaer/hekate
Path: blob/master/bdk/libs/lvgl/lv_fonts/ubuntu_mono.c
1476 views
1
/*
2
* Copyright (c) 2019 CTCaer
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms and conditions of the GNU General Public License,
6
* version 2, as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11
* more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*/
16
17
#include "../lv_misc/lv_font.h"
18
19
#include <memory_map.h>
20
21
#if USE_UBUNTU_MONO != 0 /*Can be enabled in lv_conf.h*/
22
23
/***********************************************************************************
24
* UbuntuMono-B.ttf 20 px Font in U+0020 ( ) .. U+007e (~) range with all bpp
25
***********************************************************************************/
26
27
/*Store the glyph descriptions*/
28
static const lv_font_glyph_dsc_t ubuntu_mono_glyph_dsc[] =
29
{
30
#if USE_UBUNTU_MONO == 4
31
{.w_px = 6, .glyph_index = 0}, /*Unicode: U+0020 ( )*/
32
{.w_px = 2, .glyph_index = 60}, /*Unicode: U+0021 (!)*/
33
{.w_px = 5, .glyph_index = 80}, /*Unicode: U+0022 (")*/
34
{.w_px = 10, .glyph_index = 140}, /*Unicode: U+0023 (#)*/
35
{.w_px = 8, .glyph_index = 240}, /*Unicode: U+0024 ($)*/
36
{.w_px = 10, .glyph_index = 320}, /*Unicode: U+0025 (%)*/
37
{.w_px = 10, .glyph_index = 420}, /*Unicode: U+0026 (&)*/
38
{.w_px = 2, .glyph_index = 520}, /*Unicode: U+0027 (')*/
39
{.w_px = 6, .glyph_index = 540}, /*Unicode: U+0028 (()*/
40
{.w_px = 6, .glyph_index = 600}, /*Unicode: U+0029 ())*/
41
{.w_px = 9, .glyph_index = 660}, /*Unicode: U+002a (*)*/
42
{.w_px = 8, .glyph_index = 760}, /*Unicode: U+002b (+)*/
43
{.w_px = 4, .glyph_index = 840}, /*Unicode: U+002c (,)*/
44
{.w_px = 5, .glyph_index = 880}, /*Unicode: U+002d (-)*/
45
{.w_px = 4, .glyph_index = 940}, /*Unicode: U+002e (.)*/
46
{.w_px = 8, .glyph_index = 980}, /*Unicode: U+002f (/)*/
47
{.w_px = 8, .glyph_index = 1060}, /*Unicode: U+0030 (0)*/
48
{.w_px = 7, .glyph_index = 1140}, /*Unicode: U+0031 (1)*/
49
{.w_px = 8, .glyph_index = 1220}, /*Unicode: U+0032 (2)*/
50
{.w_px = 8, .glyph_index = 1300}, /*Unicode: U+0033 (3)*/
51
{.w_px = 8, .glyph_index = 1380}, /*Unicode: U+0034 (4)*/
52
{.w_px = 8, .glyph_index = 1460}, /*Unicode: U+0035 (5)*/
53
{.w_px = 8, .glyph_index = 1540}, /*Unicode: U+0036 (6)*/
54
{.w_px = 7, .glyph_index = 1620}, /*Unicode: U+0037 (7)*/
55
{.w_px = 8, .glyph_index = 1700}, /*Unicode: U+0038 (8)*/
56
{.w_px = 8, .glyph_index = 1780}, /*Unicode: U+0039 (9)*/
57
{.w_px = 4, .glyph_index = 1860}, /*Unicode: U+003a (:)*/
58
{.w_px = 4, .glyph_index = 1900}, /*Unicode: U+003b (;)*/
59
{.w_px = 9, .glyph_index = 1940}, /*Unicode: U+003c (<)*/
60
{.w_px = 8, .glyph_index = 2040}, /*Unicode: U+003d (=)*/
61
{.w_px = 8, .glyph_index = 2120}, /*Unicode: U+003e (>)*/
62
{.w_px = 8, .glyph_index = 2200}, /*Unicode: U+003f (?)*/
63
{.w_px = 9, .glyph_index = 2280}, /*Unicode: U+0040 (@)*/
64
{.w_px = 10, .glyph_index = 2380}, /*Unicode: U+0041 (A)*/
65
{.w_px = 8, .glyph_index = 2480}, /*Unicode: U+0042 (B)*/
66
{.w_px = 8, .glyph_index = 2560}, /*Unicode: U+0043 (C)*/
67
{.w_px = 8, .glyph_index = 2640}, /*Unicode: U+0044 (D)*/
68
{.w_px = 8, .glyph_index = 2720}, /*Unicode: U+0045 (E)*/
69
{.w_px = 8, .glyph_index = 2800}, /*Unicode: U+0046 (F)*/
70
{.w_px = 8, .glyph_index = 2880}, /*Unicode: U+0047 (G)*/
71
{.w_px = 8, .glyph_index = 2960}, /*Unicode: U+0048 (H)*/
72
{.w_px = 8, .glyph_index = 3040}, /*Unicode: U+0049 (I)*/
73
{.w_px = 8, .glyph_index = 3120}, /*Unicode: U+004a (J)*/
74
{.w_px = 9, .glyph_index = 3200}, /*Unicode: U+004b (K)*/
75
{.w_px = 8, .glyph_index = 3300}, /*Unicode: U+004c (L)*/
76
{.w_px = 9, .glyph_index = 3380}, /*Unicode: U+004d (M)*/
77
{.w_px = 8, .glyph_index = 3480}, /*Unicode: U+004e (N)*/
78
{.w_px = 8, .glyph_index = 3560}, /*Unicode: U+004f (O)*/
79
{.w_px = 8, .glyph_index = 3640}, /*Unicode: U+0050 (P)*/
80
{.w_px = 8, .glyph_index = 3720}, /*Unicode: U+0051 (Q)*/
81
{.w_px = 8, .glyph_index = 3800}, /*Unicode: U+0052 (R)*/
82
{.w_px = 8, .glyph_index = 3880}, /*Unicode: U+0053 (S)*/
83
{.w_px = 8, .glyph_index = 3960}, /*Unicode: U+0054 (T)*/
84
{.w_px = 8, .glyph_index = 4040}, /*Unicode: U+0055 (U)*/
85
{.w_px = 9, .glyph_index = 4120}, /*Unicode: U+0056 (V)*/
86
{.w_px = 9, .glyph_index = 4220}, /*Unicode: U+0057 (W)*/
87
{.w_px = 10, .glyph_index = 4320}, /*Unicode: U+0058 (X)*/
88
{.w_px = 10, .glyph_index = 4420}, /*Unicode: U+0059 (Y)*/
89
{.w_px = 8, .glyph_index = 4520}, /*Unicode: U+005a (Z)*/
90
{.w_px = 6, .glyph_index = 4600}, /*Unicode: U+005b ([)*/
91
{.w_px = 8, .glyph_index = 4660}, /*Unicode: U+005c (\)*/
92
{.w_px = 6, .glyph_index = 4740}, /*Unicode: U+005d (])*/
93
{.w_px = 10, .glyph_index = 4800}, /*Unicode: U+005e (^)*/
94
{.w_px = 10, .glyph_index = 4900}, /*Unicode: U+005f (_)*/
95
{.w_px = 4, .glyph_index = 5000}, /*Unicode: U+0060 (`)*/
96
{.w_px = 8, .glyph_index = 5040}, /*Unicode: U+0061 (a)*/
97
{.w_px = 8, .glyph_index = 5120}, /*Unicode: U+0062 (b)*/
98
{.w_px = 8, .glyph_index = 5200}, /*Unicode: U+0063 (c)*/
99
{.w_px = 8, .glyph_index = 5280}, /*Unicode: U+0064 (d)*/
100
{.w_px = 9, .glyph_index = 5360}, /*Unicode: U+0065 (e)*/
101
{.w_px = 9, .glyph_index = 5460}, /*Unicode: U+0066 (f)*/
102
{.w_px = 8, .glyph_index = 5560}, /*Unicode: U+0067 (g)*/
103
{.w_px = 8, .glyph_index = 5640}, /*Unicode: U+0068 (h)*/
104
{.w_px = 9, .glyph_index = 5720}, /*Unicode: U+0069 (i)*/
105
{.w_px = 7, .glyph_index = 5820}, /*Unicode: U+006a (j)*/
106
{.w_px = 9, .glyph_index = 5900}, /*Unicode: U+006b (k)*/
107
{.w_px = 8, .glyph_index = 6000}, /*Unicode: U+006c (l)*/
108
{.w_px = 8, .glyph_index = 6080}, /*Unicode: U+006d (m)*/
109
{.w_px = 8, .glyph_index = 6160}, /*Unicode: U+006e (n)*/
110
{.w_px = 8, .glyph_index = 6240}, /*Unicode: U+006f (o)*/
111
{.w_px = 8, .glyph_index = 6320}, /*Unicode: U+0070 (p)*/
112
{.w_px = 8, .glyph_index = 6400}, /*Unicode: U+0071 (q)*/
113
{.w_px = 7, .glyph_index = 6480}, /*Unicode: U+0072 (r)*/
114
{.w_px = 8, .glyph_index = 6560}, /*Unicode: U+0073 (s)*/
115
{.w_px = 8, .glyph_index = 6640}, /*Unicode: U+0074 (t)*/
116
{.w_px = 8, .glyph_index = 6720}, /*Unicode: U+0075 (u)*/
117
{.w_px = 9, .glyph_index = 6800}, /*Unicode: U+0076 (v)*/
118
{.w_px = 10, .glyph_index = 6900}, /*Unicode: U+0077 (w)*/
119
{.w_px = 10, .glyph_index = 7000}, /*Unicode: U+0078 (x)*/
120
{.w_px = 9, .glyph_index = 7100}, /*Unicode: U+0079 (y)*/
121
{.w_px = 8, .glyph_index = 7200}, /*Unicode: U+007a (z)*/
122
{.w_px = 7, .glyph_index = 7280}, /*Unicode: U+007b ({)*/
123
{.w_px = 2, .glyph_index = 7360}, /*Unicode: U+007c (|)*/
124
{.w_px = 8, .glyph_index = 7380}, /*Unicode: U+007d (})*/
125
{.w_px = 9, .glyph_index = 7460}, /*Unicode: U+007e (~)*/
126
127
#elif USE_UBUNTU_MONO == 8
128
{.w_px = 6, .glyph_index = 0}, /*Unicode: U+0020 ( )*/
129
{.w_px = 2, .glyph_index = 120}, /*Unicode: U+0021 (!)*/
130
{.w_px = 5, .glyph_index = 160}, /*Unicode: U+0022 (")*/
131
{.w_px = 10, .glyph_index = 260}, /*Unicode: U+0023 (#)*/
132
{.w_px = 8, .glyph_index = 460}, /*Unicode: U+0024 ($)*/
133
{.w_px = 10, .glyph_index = 620}, /*Unicode: U+0025 (%)*/
134
{.w_px = 10, .glyph_index = 820}, /*Unicode: U+0026 (&)*/
135
{.w_px = 2, .glyph_index = 1020}, /*Unicode: U+0027 (')*/
136
{.w_px = 6, .glyph_index = 1060}, /*Unicode: U+0028 (()*/
137
{.w_px = 6, .glyph_index = 1180}, /*Unicode: U+0029 ())*/
138
{.w_px = 9, .glyph_index = 1300}, /*Unicode: U+002a (*)*/
139
{.w_px = 8, .glyph_index = 1480}, /*Unicode: U+002b (+)*/
140
{.w_px = 4, .glyph_index = 1640}, /*Unicode: U+002c (,)*/
141
{.w_px = 5, .glyph_index = 1720}, /*Unicode: U+002d (-)*/
142
{.w_px = 4, .glyph_index = 1820}, /*Unicode: U+002e (.)*/
143
{.w_px = 8, .glyph_index = 1900}, /*Unicode: U+002f (/)*/
144
{.w_px = 8, .glyph_index = 2060}, /*Unicode: U+0030 (0)*/
145
{.w_px = 7, .glyph_index = 2220}, /*Unicode: U+0031 (1)*/
146
{.w_px = 8, .glyph_index = 2360}, /*Unicode: U+0032 (2)*/
147
{.w_px = 8, .glyph_index = 2520}, /*Unicode: U+0033 (3)*/
148
{.w_px = 8, .glyph_index = 2680}, /*Unicode: U+0034 (4)*/
149
{.w_px = 8, .glyph_index = 2840}, /*Unicode: U+0035 (5)*/
150
{.w_px = 8, .glyph_index = 3000}, /*Unicode: U+0036 (6)*/
151
{.w_px = 7, .glyph_index = 3160}, /*Unicode: U+0037 (7)*/
152
{.w_px = 8, .glyph_index = 3300}, /*Unicode: U+0038 (8)*/
153
{.w_px = 8, .glyph_index = 3460}, /*Unicode: U+0039 (9)*/
154
{.w_px = 4, .glyph_index = 3620}, /*Unicode: U+003a (:)*/
155
{.w_px = 4, .glyph_index = 3700}, /*Unicode: U+003b (;)*/
156
{.w_px = 9, .glyph_index = 3780}, /*Unicode: U+003c (<)*/
157
{.w_px = 8, .glyph_index = 3960}, /*Unicode: U+003d (=)*/
158
{.w_px = 8, .glyph_index = 4120}, /*Unicode: U+003e (>)*/
159
{.w_px = 8, .glyph_index = 4280}, /*Unicode: U+003f (?)*/
160
{.w_px = 9, .glyph_index = 4440}, /*Unicode: U+0040 (@)*/
161
{.w_px = 10, .glyph_index = 4620}, /*Unicode: U+0041 (A)*/
162
{.w_px = 8, .glyph_index = 4820}, /*Unicode: U+0042 (B)*/
163
{.w_px = 8, .glyph_index = 4980}, /*Unicode: U+0043 (C)*/
164
{.w_px = 8, .glyph_index = 5140}, /*Unicode: U+0044 (D)*/
165
{.w_px = 8, .glyph_index = 5300}, /*Unicode: U+0045 (E)*/
166
{.w_px = 8, .glyph_index = 5460}, /*Unicode: U+0046 (F)*/
167
{.w_px = 8, .glyph_index = 5620}, /*Unicode: U+0047 (G)*/
168
{.w_px = 8, .glyph_index = 5780}, /*Unicode: U+0048 (H)*/
169
{.w_px = 8, .glyph_index = 5940}, /*Unicode: U+0049 (I)*/
170
{.w_px = 8, .glyph_index = 6100}, /*Unicode: U+004a (J)*/
171
{.w_px = 9, .glyph_index = 6260}, /*Unicode: U+004b (K)*/
172
{.w_px = 8, .glyph_index = 6440}, /*Unicode: U+004c (L)*/
173
{.w_px = 9, .glyph_index = 6600}, /*Unicode: U+004d (M)*/
174
{.w_px = 8, .glyph_index = 6780}, /*Unicode: U+004e (N)*/
175
{.w_px = 8, .glyph_index = 6940}, /*Unicode: U+004f (O)*/
176
{.w_px = 8, .glyph_index = 7100}, /*Unicode: U+0050 (P)*/
177
{.w_px = 8, .glyph_index = 7260}, /*Unicode: U+0051 (Q)*/
178
{.w_px = 8, .glyph_index = 7420}, /*Unicode: U+0052 (R)*/
179
{.w_px = 8, .glyph_index = 7580}, /*Unicode: U+0053 (S)*/
180
{.w_px = 8, .glyph_index = 7740}, /*Unicode: U+0054 (T)*/
181
{.w_px = 8, .glyph_index = 7900}, /*Unicode: U+0055 (U)*/
182
{.w_px = 9, .glyph_index = 8060}, /*Unicode: U+0056 (V)*/
183
{.w_px = 9, .glyph_index = 8240}, /*Unicode: U+0057 (W)*/
184
{.w_px = 10, .glyph_index = 8420}, /*Unicode: U+0058 (X)*/
185
{.w_px = 10, .glyph_index = 8620}, /*Unicode: U+0059 (Y)*/
186
{.w_px = 8, .glyph_index = 8820}, /*Unicode: U+005a (Z)*/
187
{.w_px = 6, .glyph_index = 8980}, /*Unicode: U+005b ([)*/
188
{.w_px = 8, .glyph_index = 9100}, /*Unicode: U+005c (\)*/
189
{.w_px = 6, .glyph_index = 9260}, /*Unicode: U+005d (])*/
190
{.w_px = 10, .glyph_index = 9380}, /*Unicode: U+005e (^)*/
191
{.w_px = 10, .glyph_index = 9580}, /*Unicode: U+005f (_)*/
192
{.w_px = 4, .glyph_index = 9780}, /*Unicode: U+0060 (`)*/
193
{.w_px = 8, .glyph_index = 9860}, /*Unicode: U+0061 (a)*/
194
{.w_px = 8, .glyph_index = 10020}, /*Unicode: U+0062 (b)*/
195
{.w_px = 8, .glyph_index = 10180}, /*Unicode: U+0063 (c)*/
196
{.w_px = 8, .glyph_index = 10340}, /*Unicode: U+0064 (d)*/
197
{.w_px = 9, .glyph_index = 10500}, /*Unicode: U+0065 (e)*/
198
{.w_px = 9, .glyph_index = 10680}, /*Unicode: U+0066 (f)*/
199
{.w_px = 8, .glyph_index = 10860}, /*Unicode: U+0067 (g)*/
200
{.w_px = 8, .glyph_index = 11020}, /*Unicode: U+0068 (h)*/
201
{.w_px = 9, .glyph_index = 11180}, /*Unicode: U+0069 (i)*/
202
{.w_px = 7, .glyph_index = 11360}, /*Unicode: U+006a (j)*/
203
{.w_px = 9, .glyph_index = 11500}, /*Unicode: U+006b (k)*/
204
{.w_px = 8, .glyph_index = 11680}, /*Unicode: U+006c (l)*/
205
{.w_px = 8, .glyph_index = 11840}, /*Unicode: U+006d (m)*/
206
{.w_px = 8, .glyph_index = 12000}, /*Unicode: U+006e (n)*/
207
{.w_px = 8, .glyph_index = 12160}, /*Unicode: U+006f (o)*/
208
{.w_px = 8, .glyph_index = 12320}, /*Unicode: U+0070 (p)*/
209
{.w_px = 8, .glyph_index = 12480}, /*Unicode: U+0071 (q)*/
210
{.w_px = 7, .glyph_index = 12640}, /*Unicode: U+0072 (r)*/
211
{.w_px = 8, .glyph_index = 12780}, /*Unicode: U+0073 (s)*/
212
{.w_px = 8, .glyph_index = 12940}, /*Unicode: U+0074 (t)*/
213
{.w_px = 8, .glyph_index = 13100}, /*Unicode: U+0075 (u)*/
214
{.w_px = 9, .glyph_index = 13260}, /*Unicode: U+0076 (v)*/
215
{.w_px = 10, .glyph_index = 13440}, /*Unicode: U+0077 (w)*/
216
{.w_px = 10, .glyph_index = 13640}, /*Unicode: U+0078 (x)*/
217
{.w_px = 9, .glyph_index = 13840}, /*Unicode: U+0079 (y)*/
218
{.w_px = 8, .glyph_index = 14020}, /*Unicode: U+007a (z)*/
219
{.w_px = 7, .glyph_index = 14180}, /*Unicode: U+007b ({)*/
220
{.w_px = 2, .glyph_index = 14320}, /*Unicode: U+007c (|)*/
221
{.w_px = 8, .glyph_index = 14360}, /*Unicode: U+007d (})*/
222
{.w_px = 9, .glyph_index = 14520}, /*Unicode: U+007e (~)*/
223
224
#endif
225
};
226
227
lv_font_t ubuntu_mono =
228
{
229
.unicode_first = 32, /*First Unicode letter in this font*/
230
.unicode_last = 126, /*Last Unicode letter in this font*/
231
.h_px = 20, /*Font height in pixels*/
232
//.glyph_bitmap = ubuntu_mono_glyph_bitmap, /*Bitmap of glyphs*/
233
.glyph_bitmap = (const uint8_t *)(NYX_RES_ADDR),
234
.glyph_dsc = ubuntu_mono_glyph_dsc, /*Description of glyphs*/
235
.glyph_cnt = 95, /*Number of glyphs in the font*/
236
.unicode_list = NULL, /*Every character in the font from 'unicode_first' to 'unicode_last'*/
237
.get_bitmap = lv_font_get_bitmap_continuous, /*Function pointer to get glyph's bitmap*/
238
.get_width = lv_font_get_width_continuous, /*Function pointer to get glyph's width*/
239
#if USE_UBUNTU_MONO == 4
240
.bpp = 4, /*Bit per pixel*/
241
#elif USE_UBUNTU_MONO == 8
242
.bpp = 8, /*Bit per pixel*/
243
#endif
244
.monospace = 10, /*Fix width (0: if not used)*/
245
.next_page = NULL, /*Pointer to a font extension*/
246
};
247
248
#endif /*USE_UBUNTU_MONO*/
249
250