Skip to content

Commit d65f680

Browse files
author
Zhang Xiaoye
committed
extmod/framebuf: Add 3 fonts to Text method and return drawn width.
Signed-off-by: Eluli Zhang <elulis@gmail.com>
1 parent 1360584 commit d65f680

File tree

5 files changed

+473
-17
lines changed

5 files changed

+473
-17
lines changed

docs/library/framebuf.rst

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,23 @@ The following methods draw shapes onto the FrameBuffer.
112112
Drawing text
113113
------------
114114

115-
.. method:: FrameBuffer.text(s, x, y[, c])
115+
.. method:: FrameBuffer.text(s, x, y[, c [, font_id]])
116116

117-
Write text to the FrameBuffer using the the coordinates as the upper-left
117+
Write text to the FrameBuffer using the coordinates as the upper-left
118118
corner of the text. The color of the text can be defined by the optional
119-
argument but is otherwise a default value of 1. All characters have
120-
dimensions of 8x8 pixels and there is currently no way to change the font.
119+
argument `c`, which defaults to `1` if not provided. Additionally, you can
120+
specify an optional `font_id` argument to select the font style, where
121+
`font_id` can be `0`, `1`, or `2`. The method returns the width of the
122+
drawn text in pixels.
123+
124+
The `font_id` argument is used to select the font style. The default font
125+
is `1`, which is the default monospace font PetMe128_8x8. The other fonts are:
126+
127+
- `0`: Z1Mono58_6x8 (A 5x8 monospace font, where the 6th column is blank)
128+
- `2`: Z1Prop8_6x8 (A 6x8 proportional font with a max width of 6 pixels)
129+
- `3`: Z1Prop8b_8x8 (A 8x8 proportional font with a max width of 8 pixels.
130+
This font is more readable than Z1Mono58_6x8 on high DPI displays and usually
131+
takes less screen width.)
121132

122133

123134
Other methods

extmod/font_z1fonts.h

Lines changed: 329 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,329 @@
1+
/*
2+
* This file is part of the MicroPython project, http://micropython.org/
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2024 Eluli
7+
*
8+
* Permission is hereby granted, free of charge, to any person obtaining a copy
9+
* of this software and associated documentation files (the "Software"), to deal
10+
* in the Software without restriction, including without limitation the rights
11+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
* copies of the Software, and to permit persons to whom the Software is
13+
* furnished to do so, subject to the following conditions:
14+
*
15+
* The above copyright notice and this permission notice shall be included in
16+
* all copies or substantial portions of the Software.
17+
*
18+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+
* THE SOFTWARE.
25+
*/
26+
#ifndef MICROPY_INCLUDED_STM32_FONT_Z1FONTS_H
27+
#define MICROPY_INCLUDED_STM32_FONT_Z1FONTS_H
28+
29+
static const uint8_t font_z1mono58_6x8[] = {
30+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //32=
31+
0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, //33=!
32+
0x00, 0x03, 0x00, 0x03, 0x00, 0x00, //34="
33+
0x14, 0x3e, 0x14, 0x3e, 0x14, 0x00, //35=#
34+
0x24, 0x2a, 0x7f, 0x2a, 0x12, 0x00, //36=$
35+
0x26, 0x16, 0x08, 0x34, 0x32, 0x00, //37=%
36+
0x36, 0x49, 0x59, 0x26, 0x50, 0x00, //38=&
37+
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //39='
38+
0x00, 0x1c, 0x22, 0x41, 0x00, 0x00, //40=(
39+
0x00, 0x41, 0x22, 0x1c, 0x00, 0x00, //41=)
40+
0x00, 0x14, 0x0e, 0x14, 0x00, 0x00, //42=*
41+
0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, //43=+
42+
0x00, 0x40, 0x20, 0x00, 0x00, 0x00, //44=,
43+
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, //45=-
44+
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, //46=.
45+
0x00, 0x30, 0x0c, 0x03, 0x00, 0x00, //47=/
46+
0x3e, 0x51, 0x49, 0x45, 0x3e, 0x00, //48=0
47+
0x42, 0x41, 0x7f, 0x40, 0x40, 0x00, //49=1
48+
0x42, 0x61, 0x51, 0x49, 0x46, 0x00, //50=2
49+
0x41, 0x49, 0x49, 0x49, 0x36, 0x00, //51=3
50+
0x1f, 0x10, 0x10, 0x10, 0x7f, 0x00, //52=4
51+
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, //53=5
52+
0x3e, 0x45, 0x45, 0x45, 0x39, 0x00, //54=6
53+
0x01, 0x01, 0x79, 0x05, 0x03, 0x00, //55=7
54+
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, //56=8
55+
0x26, 0x49, 0x49, 0x49, 0x3e, 0x00, //57=9
56+
0x00, 0x00, 0x22, 0x00, 0x00, 0x00, //58=:
57+
0x00, 0x40, 0x22, 0x00, 0x00, 0x00, //59=;
58+
0x00, 0x08, 0x14, 0x22, 0x00, 0x00, //60=<
59+
0x14, 0x14, 0x14, 0x14, 0x14, 0x00, //61==
60+
0x00, 0x22, 0x14, 0x08, 0x00, 0x00, //62=>
61+
0x06, 0x01, 0x51, 0x09, 0x06, 0x00, //63=?
62+
0x32, 0x49, 0x79, 0x41, 0x3e, 0x00, //64=@
63+
0x7e, 0x11, 0x11, 0x11, 0x7e, 0x00, //65=A
64+
0x7f, 0x49, 0x49, 0x49, 0x36, 0x00, //66=B
65+
0x3e, 0x41, 0x41, 0x41, 0x22, 0x00, //67=C
66+
0x7f, 0x41, 0x41, 0x41, 0x3e, 0x00, //68=D
67+
0x7f, 0x49, 0x49, 0x49, 0x41, 0x00, //69=E
68+
0x7f, 0x09, 0x09, 0x09, 0x01, 0x00, //70=F
69+
0x3e, 0x41, 0x49, 0x49, 0x7a, 0x00, //71=G
70+
0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00, //72=H
71+
0x41, 0x41, 0x7f, 0x41, 0x41, 0x00, //73=I
72+
0x30, 0x40, 0x40, 0x40, 0x3f, 0x00, //74=J
73+
0x7f, 0x08, 0x14, 0x22, 0x41, 0x00, //75=K
74+
0x7f, 0x40, 0x40, 0x40, 0x40, 0x00, //76=L
75+
0x7f, 0x02, 0x1c, 0x02, 0x7f, 0x00, //77=M
76+
0x7f, 0x02, 0x04, 0x08, 0x7f, 0x00, //78=N
77+
0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00, //79=O
78+
0x7f, 0x11, 0x11, 0x11, 0x0e, 0x00, //80=P
79+
0x3e, 0x41, 0x51, 0x61, 0x7e, 0x00, //81=Q
80+
0x7f, 0x09, 0x19, 0x29, 0x46, 0x00, //82=R
81+
0x26, 0x49, 0x49, 0x49, 0x32, 0x00, //83=S
82+
0x01, 0x01, 0x7f, 0x01, 0x01, 0x00, //84=T
83+
0x3f, 0x40, 0x40, 0x40, 0x3f, 0x00, //85=U
84+
0x1f, 0x20, 0x40, 0x20, 0x1f, 0x00, //86=V
85+
0x7f, 0x20, 0x1c, 0x20, 0x7f, 0x00, //87=W
86+
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, //88=X
87+
0x07, 0x08, 0x70, 0x08, 0x07, 0x00, //89=Y
88+
0x61, 0x51, 0x49, 0x45, 0x43, 0x00, //90=Z
89+
0x00, 0x7f, 0x41, 0x41, 0x00, 0x00, //91=[
90+
0x00, 0x03, 0x0c, 0x30, 0x00, 0x00, //92='\'
91+
0x00, 0x41, 0x41, 0x7f, 0x00, 0x00, //93=]
92+
0x04, 0x02, 0x01, 0x02, 0x04, 0x00, //94=^
93+
0x40, 0x40, 0x40, 0x40, 0x40, 0x00, //95=_
94+
0x00, 0x01, 0x02, 0x04, 0x00, 0x00, //96=`
95+
0x20, 0x54, 0x54, 0x54, 0x78, 0x00, //97=a
96+
0x7f, 0x44, 0x44, 0x44, 0x38, 0x00, //98=b
97+
0x38, 0x44, 0x44, 0x44, 0x44, 0x00, //99=c
98+
0x38, 0x44, 0x44, 0x44, 0x7f, 0x00, //100=d
99+
0x38, 0x54, 0x54, 0x54, 0x18, 0x00, //101=e
100+
0x08, 0x08, 0x7e, 0x09, 0x09, 0x00, //102=f
101+
0x18, 0xa4, 0xa4, 0xa4, 0x7c, 0x00, //103=g
102+
0x7f, 0x04, 0x04, 0x04, 0x78, 0x00, //104=h
103+
0x00, 0x04, 0x7d, 0x00, 0x00, 0x00, //105=i
104+
0x00, 0x84, 0x7d, 0x00, 0x00, 0x00, //106=j
105+
0x01, 0x7f, 0x10, 0x28, 0x44, 0x00, //107=k
106+
0x02, 0x3f, 0x40, 0x40, 0x20, 0x00, //108=l
107+
0x7c, 0x04, 0x3c, 0x04, 0x78, 0x00, //109=m
108+
0x7c, 0x08, 0x04, 0x04, 0x78, 0x00, //110=n
109+
0x38, 0x44, 0x44, 0x44, 0x38, 0x00, //111=o
110+
0xfc, 0x24, 0x24, 0x24, 0x18, 0x00, //112=p
111+
0x18, 0x24, 0x24, 0x24, 0xfc, 0x00, //113=q
112+
0x04, 0x78, 0x04, 0x04, 0x04, 0x00, //114=r
113+
0x48, 0x54, 0x54, 0x54, 0x24, 0x00, //115=s
114+
0x04, 0x04, 0x3f, 0x44, 0x44, 0x00, //116=t
115+
0x3c, 0x40, 0x40, 0x40, 0x3c, 0x00, //117=u
116+
0x1c, 0x20, 0x40, 0x20, 0x1c, 0x00, //118=v
117+
0x3c, 0x40, 0x38, 0x40, 0x3c, 0x00, //119=w
118+
0x44, 0x28, 0x10, 0x28, 0x44, 0x00, //120=x
119+
0x9c, 0xa0, 0xa0, 0xa0, 0x7c, 0x00, //121=y
120+
0x44, 0x64, 0x54, 0x4c, 0x44, 0x00, //122=z
121+
0x00, 0x08, 0x36, 0x41, 0x00, 0x00, //123={
122+
0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, //124=|
123+
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, //125=}
124+
0x08, 0x04, 0x08, 0x10, 0x08, 0x00, //126=~
125+
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x00, //127=
126+
};
127+
128+
static const uint8_t font_z1prop8_6x8[] = {
129+
// to read width: a[4] == 0? a[5]: 6
130+
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // 32= ,3
131+
0x00, 0x5f, 0x00, 0x00, 0x00, 0x04, // 33=!,4
132+
0x03, 0x00, 0x03, 0x00, 0x00, 0x04, // 34=",4
133+
0x14, 0x3e, 0x14, 0x3e, 0x14, 0x00, // 35=#,6
134+
0x24, 0x2a, 0x7f, 0x2a, 0x12, 0x00, // 36=$,6
135+
0x26, 0x16, 0x08, 0x34, 0x32, 0x00, // 37=%,6
136+
0x36, 0x49, 0x59, 0x26, 0x50, 0x00, // 38=&,6
137+
0x00, 0x03, 0x00, 0x00, 0x00, 0x04, // 39=',4
138+
0x1c, 0x22, 0x41, 0x00, 0x00, 0x04, // 40=(,4
139+
0x41, 0x22, 0x1c, 0x00, 0x00, 0x04, // 41=),4
140+
0x14, 0x0e, 0x14, 0x00, 0x00, 0x04, // 42=*,4
141+
0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, // 43=+,6
142+
0x40, 0x20, 0x00, 0x00, 0x00, 0x04, // 44=,,4
143+
0x08, 0x08, 0x08, 0x08, 0x00, 0x05, // 45=-,5
144+
0x00, 0x40, 0x00, 0x00, 0x00, 0x04, // 46=.,4
145+
0x30, 0x0c, 0x03, 0x00, 0x00, 0x04, // 47=/,4
146+
0x3e, 0x51, 0x49, 0x45, 0x3e, 0x00, // 48=0,6
147+
0x42, 0x41, 0x7f, 0x40, 0x40, 0x00, // 49=1,6
148+
0x42, 0x61, 0x51, 0x49, 0x46, 0x00, // 50=2,6
149+
0x41, 0x49, 0x49, 0x49, 0x36, 0x00, // 51=3,6
150+
0x1f, 0x10, 0x10, 0x10, 0x7f, 0x00, // 52=4,6
151+
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 53=5,6
152+
0x3e, 0x45, 0x45, 0x45, 0x39, 0x00, // 54=6,6
153+
0x01, 0x01, 0x79, 0x05, 0x03, 0x00, // 55=7,6
154+
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 56=8,6
155+
0x26, 0x49, 0x49, 0x49, 0x3e, 0x00, // 57=9,6
156+
0x00, 0x22, 0x00, 0x00, 0x00, 0x04, // 58=:,4
157+
0x40, 0x22, 0x00, 0x00, 0x00, 0x04, // 59=;,4
158+
0x08, 0x14, 0x22, 0x00, 0x00, 0x04, // 60=<,4
159+
0x14, 0x14, 0x14, 0x14, 0x00, 0x05, // 61==,5
160+
0x22, 0x14, 0x08, 0x00, 0x00, 0x04, // 62=>,4
161+
0x06, 0x01, 0x51, 0x09, 0x06, 0x00, // 63=?,6
162+
0x32, 0x49, 0x79, 0x41, 0x3e, 0x00, // 64=@,6
163+
0x7e, 0x11, 0x11, 0x11, 0x7e, 0x00, // 65=A,6
164+
0x7f, 0x49, 0x49, 0x49, 0x36, 0x00, // 66=B,6
165+
0x3e, 0x41, 0x41, 0x41, 0x22, 0x00, // 67=C,6
166+
0x7f, 0x41, 0x41, 0x41, 0x3e, 0x00, // 68=D,6
167+
0x7f, 0x49, 0x49, 0x49, 0x41, 0x00, // 69=E,6
168+
0x7f, 0x09, 0x09, 0x09, 0x01, 0x00, // 70=F,6
169+
0x3e, 0x41, 0x49, 0x49, 0x7a, 0x00, // 71=G,6
170+
0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00, // 72=H,6
171+
0x41, 0x41, 0x7f, 0x41, 0x41, 0x00, // 73=I,6
172+
0x30, 0x40, 0x40, 0x40, 0x3f, 0x00, // 74=J,6
173+
0x7f, 0x08, 0x14, 0x22, 0x41, 0x00, // 75=K,6
174+
0x7f, 0x40, 0x40, 0x40, 0x40, 0x00, // 76=L,6
175+
0x7f, 0x02, 0x1c, 0x02, 0x7f, 0x00, // 77=M,6
176+
0x7f, 0x02, 0x04, 0x08, 0x7f, 0x00, // 78=N,6
177+
0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00, // 79=O,6
178+
0x7f, 0x11, 0x11, 0x11, 0x0e, 0x00, // 80=P,6
179+
0x3e, 0x41, 0x51, 0x61, 0x7e, 0x00, // 81=Q,6
180+
0x7f, 0x09, 0x19, 0x29, 0x46, 0x00, // 82=R,6
181+
0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 83=S,6
182+
0x01, 0x01, 0x7f, 0x01, 0x01, 0x00, // 84=T,6
183+
0x3f, 0x40, 0x40, 0x40, 0x3f, 0x00, // 85=U,6
184+
0x1f, 0x20, 0x40, 0x20, 0x1f, 0x00, // 86=V,6
185+
0x7f, 0x20, 0x1c, 0x20, 0x7f, 0x00, // 87=W,6
186+
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 88=X,6
187+
0x07, 0x08, 0x70, 0x08, 0x07, 0x00, // 89=Y,6
188+
0x61, 0x51, 0x49, 0x45, 0x43, 0x00, // 90=Z,6
189+
0x7f, 0x41, 0x41, 0x00, 0x00, 0x04, // 91=[,4
190+
0x03, 0x0c, 0x30, 0x00, 0x00, 0x04, // 92='\',4
191+
0x41, 0x41, 0x7f, 0x00, 0x00, 0x04, // 93=],4
192+
0x02, 0x01, 0x02, 0x00, 0x00, 0x04, // 94=^,4
193+
0x40, 0x40, 0x40, 0x40, 0x00, 0x05, // 95=_,5
194+
0x01, 0x02, 0x04, 0x00, 0x00, 0x04, // 96=`,4
195+
0x20, 0x54, 0x54, 0x78, 0x00, 0x05, // 97=a,5
196+
0x7f, 0x44, 0x44, 0x38, 0x00, 0x05, // 98=b,5
197+
0x38, 0x44, 0x44, 0x44, 0x00, 0x05, // 99=c,5
198+
0x38, 0x44, 0x44, 0x7f, 0x00, 0x05, // 100=d,5
199+
0x38, 0x54, 0x54, 0x58, 0x00, 0x05, // 101=e,5
200+
0x08, 0x7e, 0x09, 0x09, 0x00, 0x05, // 102=f,5
201+
0x18, 0xa4, 0xa4, 0x7c, 0x00, 0x05, // 103=g,5
202+
0x7f, 0x04, 0x04, 0x78, 0x00, 0x05, // 104=h,5
203+
0x04, 0x7d, 0x00, 0x00, 0x00, 0x03, // 105=i,3
204+
0x84, 0x7d, 0x00, 0x00, 0x00, 0x03, // 106=j,3
205+
0x7f, 0x10, 0x28, 0x44, 0x00, 0x05, // 107=k,5
206+
0x3f, 0x40, 0x40, 0x00, 0x00, 0x04, // 108=l,4
207+
0x7c, 0x04, 0x3c, 0x04, 0x78, 0x00, // 109=m,6
208+
0x7c, 0x04, 0x04, 0x78, 0x00, 0x05, // 110=n,5
209+
0x38, 0x44, 0x44, 0x38, 0x00, 0x05, // 111=o,5
210+
0xfc, 0x24, 0x24, 0x18, 0x00, 0x05, // 112=p,5
211+
0x18, 0x24, 0x24, 0xfc, 0x00, 0x05, // 113=q,5
212+
0x7c, 0x04, 0x04, 0x00, 0x00, 0x04, // 114=r,4
213+
0x48, 0x54, 0x54, 0x24, 0x00, 0x05, // 115=s,5
214+
0x04, 0x3f, 0x44, 0x44, 0x00, 0x05, // 116=t,5
215+
0x3c, 0x40, 0x40, 0x3c, 0x00, 0x05, // 117=u,5
216+
0x1c, 0x20, 0x40, 0x20, 0x1c, 0x00, // 118=v,6
217+
0x3c, 0x40, 0x38, 0x40, 0x3c, 0x00, // 119=w,6
218+
0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 120=x,6
219+
0x9c, 0xa0, 0xa0, 0x7c, 0x00, 0x05, // 121=y,5
220+
0x64, 0x54, 0x4c, 0x44, 0x00, 0x05, // 122=z,5
221+
0x08, 0x36, 0x41, 0x00, 0x00, 0x04, // 123={,4
222+
0x00, 0x7f, 0x00, 0x00, 0x00, 0x04, // 124=|,4
223+
0x41, 0x36, 0x08, 0x00, 0x00, 0x04, // 125=},4
224+
0x08, 0x04, 0x08, 0x10, 0x08, 0x00, // 126=~,6
225+
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x00, //127=
226+
};
227+
228+
static const uint8_t font_z1prop8b_8x8[] = {
229+
// to read width: a[6] == 0? a[7]: 8
230+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, // 32= ,4
231+
0x00, 0xdf, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x05, // 33=!,5
232+
0x07, 0x07, 0x00, 0x07, 0x07, 0x00, 0x00, 0x06, // 34=",6
233+
0x14, 0x7f, 0x7f, 0x14, 0x7f, 0x7f, 0x14, 0x00, // 35=#,8
234+
0x2e, 0x2a, 0x7f, 0x7f, 0x2a, 0x3a, 0x00, 0x07, // 36=$,7
235+
0x63, 0x33, 0x18, 0x0c, 0x66, 0x63, 0x00, 0x07, // 37=%,7
236+
0x36, 0x7f, 0x4d, 0x7f, 0x3a, 0x68, 0x00, 0x07, // 38=&,7
237+
0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x05, // 39=',5
238+
0x00, 0x1c, 0x3e, 0x63, 0x41, 0x00, 0x00, 0x06, // 40=(,6
239+
0x41, 0x63, 0x3e, 0x1c, 0x00, 0x00, 0x00, 0x06, // 41=),6
240+
0x28, 0x38, 0x1e, 0x1e, 0x38, 0x28, 0x00, 0x07, // 42=*,7
241+
0x08, 0x08, 0x3e, 0x3e, 0x08, 0x08, 0x00, 0x07, // 43=+,7
242+
0x80, 0xe0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x05, // 44=,,5
243+
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x06, // 45=-,6
244+
0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x05, // 46=.,5
245+
0x60, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x06, // 47=/,6
246+
0x3e, 0x7f, 0x49, 0x45, 0x7f, 0x3e, 0x00, 0x07, // 48=0,7
247+
0x40, 0x42, 0x7f, 0x7f, 0x40, 0x40, 0x00, 0x07, // 49=1,7
248+
0x62, 0x71, 0x59, 0x49, 0x4f, 0x46, 0x00, 0x07, // 50=2,7
249+
0x22, 0x63, 0x49, 0x49, 0x7f, 0x36, 0x00, 0x07, // 51=3,7
250+
0x1e, 0x1f, 0x10, 0x7f, 0x7f, 0x10, 0x00, 0x07, // 52=4,7
251+
0x4f, 0x4f, 0x49, 0x49, 0x79, 0x31, 0x00, 0x07, // 53=5,7
252+
0x3e, 0x7f, 0x49, 0x49, 0x79, 0x32, 0x00, 0x07, // 54=6,7
253+
0x01, 0x61, 0x71, 0x19, 0x0f, 0x07, 0x00, 0x07, // 55=7,7
254+
0x36, 0x7f, 0x49, 0x49, 0x7f, 0x36, 0x00, 0x07, // 56=8,7
255+
0x2e, 0x5f, 0x51, 0x51, 0x7f, 0x3e, 0x00, 0x07, // 57=9,7
256+
0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x05, // 58=:,5
257+
0x80, 0xe6, 0x66, 0x00, 0x00, 0x00, 0x00, 0x05, // 59=;,5
258+
0x08, 0x1c, 0x36, 0x63, 0x41, 0x00, 0x00, 0x06, // 60=<,6
259+
0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x06, // 61==,6
260+
0x41, 0x63, 0x36, 0x1c, 0x08, 0x00, 0x00, 0x06, // 62=>,6
261+
0x06, 0x03, 0xd1, 0xd9, 0x0f, 0x06, 0x00, 0x07, // 63=?,7
262+
0x32, 0x7b, 0x49, 0x59, 0x7f, 0x3e, 0x00, 0x07, // 64=@,7
263+
0x7c, 0x7e, 0x13, 0x13, 0x7e, 0x7c, 0x00, 0x07, // 65=A,7
264+
0x7f, 0x7f, 0x49, 0x49, 0x7f, 0x36, 0x00, 0x07, // 66=B,7
265+
0x3e, 0x7f, 0x41, 0x41, 0x63, 0x22, 0x00, 0x07, // 67=C,7
266+
0x7f, 0x7f, 0x41, 0x41, 0x7f, 0x3e, 0x00, 0x07, // 68=D,7
267+
0x7f, 0x7f, 0x49, 0x49, 0x49, 0x00, 0x00, 0x06, // 69=E,6
268+
0x7f, 0x7f, 0x09, 0x09, 0x09, 0x00, 0x00, 0x06, // 70=F,6
269+
0x3e, 0x7f, 0x41, 0x49, 0x79, 0x79, 0x00, 0x07, // 71=G,7
270+
0x7f, 0x7f, 0x08, 0x08, 0x7f, 0x7f, 0x00, 0x07, // 72=H,7
271+
0x41, 0x7f, 0x7f, 0x41, 0x00, 0x00, 0x00, 0x05, // 73=I,5
272+
0x81, 0xff, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x05, // 74=J,5
273+
0x7f, 0x7f, 0x0c, 0x1e, 0x33, 0x61, 0x00, 0x07, // 75=K,7
274+
0x7f, 0x7f, 0x40, 0x40, 0x40, 0x00, 0x00, 0x06, // 76=L,6
275+
0x7f, 0x7f, 0x01, 0x1f, 0x01, 0x7f, 0x7e, 0x00, // 77=M,8
276+
0x7f, 0x7f, 0x02, 0x04, 0x7f, 0x7f, 0x00, 0x07, // 78=N,7
277+
0x3e, 0x7f, 0x41, 0x41, 0x7f, 0x3e, 0x00, 0x07, // 79=O,7
278+
0x7f, 0x7f, 0x11, 0x11, 0x1f, 0x0e, 0x00, 0x07, // 80=P,7
279+
0x3e, 0x7f, 0x41, 0x61, 0x7f, 0x5e, 0x00, 0x07, // 81=Q,7
280+
0x7f, 0x7f, 0x11, 0x31, 0x7f, 0x4e, 0x00, 0x07, // 82=R,7
281+
0x26, 0x6f, 0x49, 0x49, 0x7b, 0x32, 0x00, 0x07, // 83=S,7
282+
0x01, 0x01, 0x7f, 0x7f, 0x01, 0x01, 0x00, 0x07, // 84=T,7
283+
0x3f, 0x7f, 0x40, 0x40, 0x7f, 0x3f, 0x00, 0x07, // 85=U,7
284+
0x1f, 0x3f, 0x40, 0x40, 0x3f, 0x1f, 0x00, 0x07, // 86=V,7
285+
0x3f, 0x7f, 0x40, 0x7c, 0x40, 0x7f, 0x7f, 0x00, // 87=W,8
286+
0x63, 0x36, 0x1c, 0x1c, 0x36, 0x63, 0x00, 0x07, // 88=X,7
287+
0x07, 0x0f, 0x78, 0x78, 0x0f, 0x07, 0x00, 0x07, // 89=Y,7
288+
0x61, 0x71, 0x59, 0x4d, 0x47, 0x43, 0x00, 0x07, // 90=Z,7
289+
0x00, 0x7f, 0x7f, 0x41, 0x41, 0x00, 0x00, 0x06, // 91=[,6
290+
0x01, 0x07, 0x1e, 0x78, 0x60, 0x00, 0x00, 0x06, // 92='\',6
291+
0x41, 0x41, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x06, // 93=],6
292+
0x06, 0x03, 0x01, 0x03, 0x06, 0x00, 0x00, 0x06, // 94=^,6
293+
0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x06, // 95=_,6
294+
0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // 96=`,3
295+
0x38, 0x7c, 0x44, 0x7c, 0x7c, 0x00, 0x00, 0x06, // 97=a,6
296+
0x7f, 0x7f, 0x44, 0x7c, 0x38, 0x00, 0x00, 0x06, // 98=b,6
297+
0x38, 0x7c, 0x44, 0x44, 0x00, 0x00, 0x00, 0x05, // 99=c,5
298+
0x38, 0x7c, 0x44, 0x7f, 0x7f, 0x00, 0x00, 0x06, // 100=d,6
299+
0x38, 0x7c, 0x54, 0x54, 0x5c, 0x18, 0x00, 0x07, // 101=e,7
300+
0x08, 0x7e, 0x7f, 0x09, 0x00, 0x00, 0x00, 0x05, // 102=f,5
301+
0x18, 0xbc, 0xa4, 0xa4, 0xfc, 0x7c, 0x00, 0x07, // 103=g,7
302+
0x7f, 0x7f, 0x04, 0x7c, 0x78, 0x00, 0x00, 0x06, // 104=h,6
303+
0x04, 0x7d, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x04, // 105=i,4
304+
0x84, 0xfd, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x04, // 106=j,4
305+
0x7f, 0x7f, 0x38, 0x6c, 0x44, 0x00, 0x00, 0x06, // 107=k,6
306+
0x3f, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, // 108=l,4
307+
0x7c, 0x7c, 0x04, 0x18, 0x04, 0x7c, 0x78, 0x00, // 109=m,8
308+
0x7c, 0x7c, 0x04, 0x7c, 0x78, 0x00, 0x00, 0x06, // 110=n,6
309+
0x38, 0x7c, 0x44, 0x7c, 0x38, 0x00, 0x00, 0x06, // 111=o,6
310+
0xfc, 0xfc, 0x44, 0x7c, 0x38, 0x00, 0x00, 0x06, // 112=p,6
311+
0x38, 0x7c, 0x44, 0xfc, 0xfc, 0x00, 0x00, 0x06, // 113=q,6
312+
0x7c, 0x7c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, // 114=r,4
313+
0x48, 0x5c, 0x54, 0x74, 0x24, 0x00, 0x00, 0x06, // 115=s,6
314+
0x04, 0x3f, 0x7f, 0x44, 0x00, 0x00, 0x00, 0x05, // 116=t,5
315+
0x3c, 0x7c, 0x40, 0x7c, 0x7c, 0x00, 0x00, 0x06, // 117=u,6
316+
0x3c, 0x7c, 0xc0, 0x7c, 0x3c, 0x00, 0x00, 0x06, // 118=v,6
317+
0x3c, 0x7c, 0x40, 0x70, 0x40, 0x7c, 0x7c, 0x00, // 119=w,8
318+
0x44, 0x6c, 0x38, 0x6c, 0x44, 0x00, 0x00, 0x06, // 120=x,6
319+
0x9c, 0xbc, 0xa0, 0xfc, 0x7c, 0x00, 0x00, 0x06, // 121=y,6
320+
0x64, 0x74, 0x5c, 0x4c, 0x44, 0x00, 0x00, 0x06, // 122=z,6
321+
0x08, 0x3e, 0x77, 0x41, 0x00, 0x00, 0x00, 0x05, // 123={,5
322+
0x00, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x05, // 124=|,5
323+
0x41, 0x77, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x05, // 125=},5
324+
0x08, 0x04, 0x0c, 0x18, 0x10, 0x08, 0x00, 0x07, // 126=~,7
325+
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0x00, 0x07, // 127
326+
};
327+
328+
329+
#endif // MICROPY_INCLUDED_STM32_FONT_Z1FONTS_H

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy