spiv: Fix image list counter
[gfxprim.git] / libs / text / GP_FontTiny.c
blob52d3c3b0f711b71ef4960b0fac0e446adba21e1c
1 /*****************************************************************************
2 * This file is part of gfxprim library. *
3 * *
4 * Gfxprim is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Lesser General Public *
6 * License as published by the Free Software Foundation; either *
7 * version 2.1 of the License, or (at your option) any later version. *
8 * *
9 * Gfxprim is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
12 * Lesser General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU Lesser General Public *
15 * License along with gfxprim; if not, write to the Free Software *
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
17 * Boston, MA 02110-1301 USA *
18 * *
19 * Copyright (C) 2009-2013 Cyril Hrubis <metan@ucw.cz> *
20 * *
21 *****************************************************************************/
23 #include "GP_Font.h"
25 static int8_t tiny_glyphs[] = {
26 /* ' ' */ 4, 5, 0, 5, 4,
27 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28 /* '!' */ 1, 5, 1, 5, 3,
29 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00,
30 /* '"' */ 4, 5, 0, 5, 6,
31 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
32 /* '#' */ 5, 5, 0, 5, 6,
33 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x00, 0x00,
34 /* '$' */ 3, 5, 0, 5, 4,
35 0x40, 0xe0, 0x40, 0xe0, 0x40, 0x00, 0x00,
36 /* '%' */ 5, 5, 0, 5, 6,
37 0xd0, 0x90, 0x20, 0x48, 0x58, 0x00, 0x00,
38 /* '&' */ 4, 5, 0, 5, 5,
39 0x60, 0x90, 0x40, 0xa0, 0xd0, 0x00, 0x00,
40 /* ''' */ 1, 5, 0, 5, 2,
41 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
42 /* '(' */ 2, 5, 0, 5, 3,
43 0x40, 0x80, 0x80, 0x80, 0x40, 0x00, 0x00,
44 /* ')' */ 2, 5, 0, 5, 3,
45 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00,
46 /* '*' */ 3, 5, 0, 5, 4,
47 0x00, 0xa0, 0x40, 0xa0, 0x00, 0x00, 0x00,
48 /* '+' */ 3, 5, 0, 5, 4,
49 0x00, 0x40, 0xe0, 0x40, 0x00, 0x00, 0x00,
50 /* ',' */ 1, 6, 0, 5, 2,
51 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00,
52 /* '-' */ 3, 5, 0, 5, 4,
53 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00,
54 /* '.' */ 1, 5, 0, 5, 2,
55 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
56 /* '/' */ 3, 5, 0, 5, 4,
57 0x20, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00,
58 /* '0' */ 4, 5, 0, 5, 5,
59 0x60, 0xb0, 0x90, 0xd0, 0x60, 0x00, 0x00,
60 /* '1' */ 3, 5, 0, 5, 4,
61 0xc0, 0x40, 0x40, 0x40, 0xe0, 0x00, 0x00,
62 /* '2' */ 4, 5, 0, 5, 5,
63 0xe0, 0x10, 0x60, 0x80, 0xf0, 0x00, 0x00,
64 /* '3' */ 4, 5, 0, 5, 5,
65 0xe0, 0x10, 0x60, 0x10, 0xe0, 0x00, 0x00,
66 /* '4' */ 4, 5, 0, 5, 5,
67 0x20, 0x60, 0xa0, 0xf0, 0x20, 0x00, 0x00,
68 /* '5' */ 4, 5, 0, 5, 5,
69 0xf0, 0x80, 0xe0, 0x10, 0xe0, 0x00, 0x00,
70 /* '6' */ 4, 5, 0, 5, 5,
71 0x60, 0x80, 0xe0, 0x90, 0x60, 0x00, 0x00,
72 /* '7' */ 4, 5, 0, 5, 5,
73 0xf0, 0x10, 0x20, 0x40, 0x40, 0x00, 0x00,
74 /* '8' */ 4, 5, 0, 5, 5,
75 0x60, 0x90, 0x60, 0x90, 0x60, 0x00, 0x00,
76 /* '9' */ 4, 5, 0, 5, 5,
77 0x60, 0x90, 0x70, 0x10, 0x60, 0x00, 0x00,
78 /* ':' */ 1, 5, 0, 5, 2,
79 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00,
80 /* ';' */ 1, 5, 0, 5, 2,
81 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00,
82 /* '<' */ 3, 5, 0, 5, 4,
83 0x20, 0x40, 0x80, 0x40, 0x20, 0x00, 0x00,
84 /* '=' */ 3, 5, 0, 5, 4,
85 0x00, 0xe0, 0x00, 0xe0, 0x00, 0x00, 0x00,
86 /* '>' */ 3, 5, 0, 5, 4,
87 0x80, 0x40, 0x20, 0x40, 0x80, 0x00, 0x00,
88 /* '?' */ 3, 5, 0, 5, 4,
89 0xc0, 0x20, 0x40, 0x00, 0x40, 0x00, 0x00,
90 /* '@' */ 5, 5, 0, 5, 6,
91 0x70, 0x88, 0xb0, 0x80, 0x70, 0x00, 0x00,
92 /* 'A' */ 4, 5, 0, 5, 5,
93 0x60, 0x90, 0xf0, 0x90, 0x90, 0x00, 0x00,
94 /* 'B' */ 4, 5, 0, 5, 5,
95 0xe0, 0x90, 0xe0, 0x90, 0xe0, 0x00, 0x00,
96 /* 'C' */ 4, 5, 0, 5, 5,
97 0x70, 0x80, 0x80, 0x80, 0x70, 0x00, 0x00,
98 /* 'D' */ 4, 5, 0, 5, 5,
99 0xe0, 0x90, 0x90, 0x90, 0xe0, 0x00, 0x00,
100 /* 'E' */ 4, 5, 0, 5, 5,
101 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x00, 0x00,
102 /* 'F' */ 4, 5, 0, 5, 5,
103 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x00, 0x00,
104 /* 'G' */ 5, 5, 0, 5, 6,
105 0x70, 0x80, 0x98, 0x88, 0x70, 0x00, 0x00,
106 /* 'H' */ 4, 5, 0, 5, 5,
107 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00, 0x00,
108 /* 'I' */ 3, 5, 0, 5, 4,
109 0xe0, 0x40, 0x40, 0x40, 0xe0, 0x00, 0x00,
110 /* 'J' */ 4, 5, 0, 5, 5,
111 0xf0, 0x10, 0x10, 0x90, 0x60, 0x00, 0x00,
112 /* 'K' */ 4, 5, 0, 5, 5,
113 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x00, 0x00,
114 /* 'L' */ 4, 5, 0, 5, 5,
115 0x80, 0x80, 0x80, 0x80, 0xf0, 0x00, 0x00,
116 /* 'M' */ 5, 5, 0, 5, 6,
117 0x88, 0xd8, 0xa8, 0x88, 0x88, 0x00, 0x00,
118 /* 'N' */ 4, 5, 0, 5, 5,
119 0x90, 0xd0, 0xb0, 0x90, 0x90, 0x00, 0x00,
120 /* 'O' */ 4, 5, 0, 5, 5,
121 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00,
122 /* 'P' */ 4, 5, 0, 5, 5,
123 0xe0, 0x90, 0xe0, 0x80, 0x80, 0x00, 0x00,
124 /* 'Q' */ 4, 5, 0, 5, 5,
125 0x60, 0x90, 0x90, 0xa0, 0x50, 0x00, 0x00,
126 /* 'R' */ 4, 5, 0, 5, 5,
127 0xe0, 0x90, 0xe0, 0x90, 0x90, 0x00, 0x00,
128 /* 'S' */ 4, 5, 0, 5, 5,
129 0x70, 0x80, 0x60, 0x10, 0xe0, 0x00, 0x00,
130 /* 'T' */ 5, 5, 0, 5, 6,
131 0xf8, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
132 /* 'U' */ 4, 5, 0, 5, 5,
133 0x90, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00,
134 /* 'V' */ 5, 5, 0, 5, 6,
135 0x88, 0x88, 0x50, 0x50, 0x20, 0x00, 0x00,
136 /* 'W' */ 5, 5, 0, 5, 6,
137 0x88, 0x88, 0x88, 0xa8, 0x50, 0x00, 0x00,
138 /* 'X' */ 4, 5, 0, 5, 5,
139 0x90, 0x90, 0x60, 0x90, 0x90, 0x00, 0x00,
140 /* 'Y' */ 4, 5, 0, 5, 5,
141 0x90, 0x90, 0x70, 0x10, 0x60, 0x00, 0x00,
142 /* 'Z' */ 4, 5, 0, 5, 5,
143 0xf0, 0x10, 0x60, 0x80, 0xf0, 0x00, 0x00,
144 /* '[' */ 2, 5, 0, 5, 3,
145 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x00, 0x00,
146 /* '\' */ 3, 5, 0, 5, 4,
147 0x80, 0x80, 0x40, 0x20, 0x20, 0x00, 0x00,
148 /* ']' */ 2, 5, 0, 5, 3,
149 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
150 /* '^' */ 3, 5, 0, 5, 4,
151 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00,
152 /* '_' */ 4, 5, 0, 5, 5,
153 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
154 /* '`' */ 2, 5, 0, 5, 3,
155 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
156 /* 'a' */ 4, 5, 0, 5, 5,
157 0x00, 0x60, 0x90, 0x90, 0x70, 0x00, 0x00,
158 /* 'b' */ 4, 5, 0, 5, 5,
159 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x00, 0x00,
160 /* 'c' */ 4, 5, 0, 5, 5,
161 0x00, 0x70, 0x80, 0x80, 0x70, 0x00, 0x00,
162 /* 'd' */ 4, 5, 0, 5, 5,
163 0x10, 0x70, 0x90, 0x90, 0x70, 0x00, 0x00,
164 /* 'e' */ 4, 5, 0, 5, 5,
165 0x00, 0x60, 0xf0, 0x80, 0x70, 0x00, 0x00,
166 /* 'f' */ 4, 7, 0, 5, 5,
167 0x00, 0x70, 0x80, 0xc0, 0x80, 0x80, 0x80,
168 /* 'g' */ 4, 7, 0, 5, 5,
169 0x00, 0x60, 0x90, 0x90, 0x70, 0x10, 0x60,
170 /* 'h' */ 4, 5, 0, 5, 5,
171 0x80, 0xe0, 0x90, 0x90, 0x90, 0x00, 0x00,
172 /* 'i' */ 3, 5, 0, 5, 4,
173 0x40, 0x00, 0x40, 0x40, 0xe0, 0x00, 0x00,
174 /* 'j' */ 4, 5, 0, 5, 5,
175 0x00, 0x10, 0x10, 0x90, 0x60, 0x00, 0x00,
176 /* 'k' */ 4, 5, 0, 5, 5,
177 0x80, 0xb0, 0xc0, 0xa0, 0x90, 0x00, 0x00,
178 /* 'l' */ 2, 5, 0, 5, 3,
179 0x80, 0x80, 0x80, 0x80, 0x40, 0x00, 0x00,
180 /* 'm' */ 5, 5, 0, 5, 6,
181 0x00, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
182 /* 'n' */ 4, 5, 0, 5, 5,
183 0x00, 0xe0, 0x90, 0x90, 0x90, 0x00, 0x00,
184 /* 'o' */ 4, 5, 0, 5, 5,
185 0x00, 0x60, 0x90, 0x90, 0x60, 0x00, 0x00,
186 /* 'p' */ 4, 7, 0, 5, 5,
187 0x00, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80,
188 /* 'q' */ 4, 7, 0, 5, 5,
189 0x00, 0x70, 0x90, 0x90, 0x70, 0x10, 0x10,
190 /* 'r' */ 4, 5, 0, 5, 5,
191 0x00, 0x70, 0x80, 0x80, 0x80, 0x00, 0x00,
192 /* 's' */ 4, 5, 0, 5, 5,
193 0x00, 0x70, 0xc0, 0x30, 0xe0, 0x00, 0x00,
194 /* 't' */ 4, 5, 0, 5, 5,
195 0x40, 0xf0, 0x40, 0x40, 0x30, 0x00, 0x00,
196 /* 'u' */ 4, 5, 0, 5, 5,
197 0x00, 0x90, 0x90, 0x90, 0x70, 0x00, 0x00,
198 /* 'v' */ 4, 5, 0, 5, 5,
199 0x00, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00,
200 /* 'w' */ 5, 5, 0, 5, 6,
201 0x00, 0x88, 0xa8, 0xa8, 0x50, 0x00, 0x00,
202 /* 'x' */ 4, 5, 0, 5, 5,
203 0x00, 0x90, 0x60, 0x60, 0x90, 0x00, 0x00,
204 /* 'y' */ 4, 7, 0, 5, 5,
205 0x00, 0x90, 0x90, 0x90, 0x70, 0x10, 0x60,
206 /* 'z' */ 4, 5, 0, 5, 5,
207 0x00, 0xf0, 0x20, 0x40, 0xf0, 0x00, 0x00,
208 /* '{' */ 3, 5, 0, 5, 4,
209 0x60, 0x80, 0x40, 0x80, 0x60, 0x00, 0x00,
210 /* '|' */ 1, 5, 0, 5, 2,
211 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
212 /* '}' */ 3, 5, 0, 5, 4,
213 0xc0, 0x20, 0x40, 0x20, 0xc0, 0x00, 0x00,
214 /* '~' */ 4, 5, 0, 5, 5,
215 0x00, 0x50, 0xa0, 0x00, 0x00, 0x00, 0x00,
218 static struct GP_FontFace tiny = {
219 .family_name = "Tiny",
220 .style_name = "",
221 .charset = GP_CHARSET_7BIT,
222 .ascend = 5,
223 .descend = 3,
224 .max_glyph_width = 5,
225 .max_glyph_advance = 6,
226 .glyph_bitmap_format = GP_FONT_BITMAP_1BPP,
227 .glyphs = tiny_glyphs,
228 .glyph_offsets = {12},
231 struct GP_FontFace *GP_FontTiny = &tiny;