spiv: Fix image list counter
[gfxprim.git] / libs / text / GP_FontTinyMono.c
blob5b1b86fd58863af0979b078c39e2a59e88c4dda1
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_mono_glyphs[] = {
26 /* ' ' */ 5, 5, 0, 5, 6,
27 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28 /* '!' */ 5, 5, 0, 5, 6,
29 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00,
30 /* '"' */ 5, 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 /* '$' */ 5, 5, 0, 5, 6,
35 0x20, 0x70, 0x20, 0x70, 0x20, 0x00, 0x00,
36 /* '%' */ 5, 5, 0, 5, 6,
37 0xd0, 0x90, 0x20, 0x48, 0x58, 0x00, 0x00,
38 /* '&' */ 5, 5, 0, 5, 6,
39 0x60, 0x90, 0x40, 0xa0, 0xd0, 0x00, 0x00,
40 /* ''' */ 5, 5, 0, 5, 6,
41 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
42 /* '(' */ 5, 5, 0, 5, 6,
43 0x20, 0x40, 0x40, 0x40, 0x20, 0x00, 0x00,
44 /* ')' */ 5, 5, 0, 5, 6,
45 0x20, 0x10, 0x10, 0x10, 0x20, 0x00, 0x00,
46 /* '*' */ 5, 5, 0, 5, 6,
47 0x00, 0x50, 0x20, 0x50, 0x00, 0x00, 0x00,
48 /* '+' */ 5, 5, 0, 5, 6,
49 0x00, 0x20, 0x70, 0x20, 0x00, 0x00, 0x00,
50 /* ',' */ 5, 6, 0, 5, 6,
51 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00,
52 /* '-' */ 5, 5, 0, 5, 6,
53 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00,
54 /* '.' */ 5, 5, 0, 5, 6,
55 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
56 /* '/' */ 5, 5, 0, 5, 6,
57 0x10, 0x10, 0x20, 0x40, 0x40, 0x00, 0x00,
58 /* '0' */ 5, 5, 0, 5, 6,
59 0x60, 0xb0, 0x90, 0xd0, 0x60, 0x00, 0x00,
60 /* '1' */ 5, 5, 0, 5, 6,
61 0x60, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00,
62 /* '2' */ 5, 5, 0, 5, 6,
63 0xe0, 0x10, 0x60, 0x80, 0xf0, 0x00, 0x00,
64 /* '3' */ 5, 5, 0, 5, 6,
65 0xe0, 0x10, 0x60, 0x10, 0xe0, 0x00, 0x00,
66 /* '4' */ 5, 5, 0, 5, 6,
67 0x20, 0x60, 0xa0, 0xf0, 0x20, 0x00, 0x00,
68 /* '5' */ 5, 5, 0, 5, 6,
69 0xf0, 0x80, 0xe0, 0x10, 0xe0, 0x00, 0x00,
70 /* '6' */ 5, 5, 0, 5, 6,
71 0x60, 0x80, 0xe0, 0x90, 0x60, 0x00, 0x00,
72 /* '7' */ 5, 5, 0, 5, 6,
73 0xf0, 0x10, 0x20, 0x40, 0x40, 0x00, 0x00,
74 /* '8' */ 5, 5, 0, 5, 6,
75 0x60, 0x90, 0x60, 0x90, 0x60, 0x00, 0x00,
76 /* '9' */ 5, 5, 0, 5, 6,
77 0x60, 0x90, 0x70, 0x10, 0x60, 0x00, 0x00,
78 /* ':' */ 5, 5, 0, 5, 6,
79 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
80 /* ';' */ 5, 5, 0, 5, 6,
81 0x00, 0x20, 0x00, 0x20, 0x20, 0x00, 0x00,
82 /* '<' */ 5, 5, 0, 5, 6,
83 0x10, 0x20, 0x40, 0x20, 0x10, 0x00, 0x00,
84 /* '=' */ 5, 5, 0, 5, 6,
85 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00,
86 /* '>' */ 5, 5, 0, 5, 6,
87 0x40, 0x20, 0x10, 0x20, 0x40, 0x00, 0x00,
88 /* '?' */ 5, 5, 0, 5, 6,
89 0x60, 0x10, 0x20, 0x00, 0x20, 0x00, 0x00,
90 /* '@' */ 5, 5, 0, 5, 6,
91 0x70, 0x88, 0xb0, 0x80, 0x70, 0x00, 0x00,
92 /* 'A' */ 5, 5, 0, 5, 6,
93 0x60, 0x90, 0xf0, 0x90, 0x90, 0x00, 0x00,
94 /* 'B' */ 5, 5, 0, 5, 6,
95 0xe0, 0x90, 0xe0, 0x90, 0xe0, 0x00, 0x00,
96 /* 'C' */ 5, 5, 0, 5, 6,
97 0x70, 0x80, 0x80, 0x80, 0x70, 0x00, 0x00,
98 /* 'D' */ 5, 5, 0, 5, 6,
99 0xe0, 0x90, 0x90, 0x90, 0xe0, 0x00, 0x00,
100 /* 'E' */ 5, 5, 0, 5, 6,
101 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x00, 0x00,
102 /* 'F' */ 5, 5, 0, 5, 6,
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' */ 5, 5, 0, 5, 6,
107 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00, 0x00,
108 /* 'I' */ 5, 5, 0, 5, 6,
109 0x70, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00,
110 /* 'J' */ 5, 5, 0, 5, 6,
111 0xf0, 0x10, 0x10, 0x90, 0x60, 0x00, 0x00,
112 /* 'K' */ 5, 5, 0, 5, 6,
113 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x00, 0x00,
114 /* 'L' */ 5, 5, 0, 5, 6,
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' */ 5, 5, 0, 5, 6,
119 0x90, 0xd0, 0xb0, 0x90, 0x90, 0x00, 0x00,
120 /* 'O' */ 5, 5, 0, 5, 6,
121 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00,
122 /* 'P' */ 5, 5, 0, 5, 6,
123 0xe0, 0x90, 0xe0, 0x80, 0x80, 0x00, 0x00,
124 /* 'Q' */ 5, 5, 0, 5, 6,
125 0x60, 0x90, 0x90, 0xa0, 0x50, 0x00, 0x00,
126 /* 'R' */ 5, 5, 0, 5, 6,
127 0xe0, 0x90, 0xe0, 0x90, 0x90, 0x00, 0x00,
128 /* 'S' */ 5, 5, 0, 5, 6,
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' */ 5, 5, 0, 5, 6,
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' */ 5, 5, 0, 5, 6,
139 0x90, 0x90, 0x60, 0x90, 0x90, 0x00, 0x00,
140 /* 'Y' */ 5, 5, 0, 5, 6,
141 0x90, 0x90, 0x70, 0x10, 0x60, 0x00, 0x00,
142 /* 'Z' */ 5, 5, 0, 5, 6,
143 0xf0, 0x10, 0x60, 0x80, 0xf0, 0x00, 0x00,
144 /* '[' */ 5, 5, 0, 5, 6,
145 0x60, 0x40, 0x40, 0x40, 0x60, 0x00, 0x00,
146 /* '\' */ 5, 5, 0, 5, 6,
147 0x40, 0x40, 0x20, 0x10, 0x10, 0x00, 0x00,
148 /* ']' */ 5, 5, 0, 5, 6,
149 0x30, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
150 /* '^' */ 5, 5, 0, 5, 6,
151 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
152 /* '_' */ 5, 5, 0, 5, 6,
153 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
154 /* '`' */ 5, 5, 0, 5, 6,
155 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
156 /* 'a' */ 5, 5, 0, 5, 6,
157 0x00, 0x60, 0x90, 0x90, 0x70, 0x00, 0x00,
158 /* 'b' */ 5, 5, 0, 5, 6,
159 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x00, 0x00,
160 /* 'c' */ 5, 5, 0, 5, 6,
161 0x00, 0x70, 0x80, 0x80, 0x70, 0x00, 0x00,
162 /* 'd' */ 5, 5, 0, 5, 6,
163 0x10, 0x70, 0x90, 0x90, 0x70, 0x00, 0x00,
164 /* 'e' */ 5, 5, 0, 5, 6,
165 0x00, 0x60, 0xf0, 0x80, 0x70, 0x00, 0x00,
166 /* 'f' */ 5, 7, 0, 5, 6,
167 0x00, 0x70, 0x80, 0xc0, 0x80, 0x80, 0x80,
168 /* 'g' */ 5, 7, 0, 5, 6,
169 0x00, 0x60, 0x90, 0x90, 0x70, 0x10, 0x60,
170 /* 'h' */ 5, 5, 0, 5, 6,
171 0x80, 0xe0, 0x90, 0x90, 0x90, 0x00, 0x00,
172 /* 'i' */ 5, 5, 0, 5, 6,
173 0x20, 0x00, 0x20, 0x20, 0x70, 0x00, 0x00,
174 /* 'j' */ 5, 5, 0, 5, 6,
175 0x00, 0x10, 0x10, 0x90, 0x60, 0x00, 0x00,
176 /* 'k' */ 5, 5, 0, 5, 6,
177 0x80, 0xb0, 0xc0, 0xa0, 0x90, 0x00, 0x00,
178 /* 'l' */ 5, 5, 0, 5, 6,
179 0x40, 0x40, 0x40, 0x40, 0x30, 0x00, 0x00,
180 /* 'm' */ 5, 5, 0, 5, 6,
181 0x00, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
182 /* 'n' */ 5, 5, 0, 5, 6,
183 0x00, 0xe0, 0x90, 0x90, 0x90, 0x00, 0x00,
184 /* 'o' */ 5, 5, 0, 5, 6,
185 0x00, 0x60, 0x90, 0x90, 0x60, 0x00, 0x00,
186 /* 'p' */ 5, 7, 0, 5, 6,
187 0x00, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80,
188 /* 'q' */ 5, 7, 0, 5, 6,
189 0x00, 0x70, 0x90, 0x90, 0x70, 0x10, 0x10,
190 /* 'r' */ 5, 5, 0, 5, 6,
191 0x00, 0x70, 0x80, 0x80, 0x80, 0x00, 0x00,
192 /* 's' */ 5, 5, 0, 5, 6,
193 0x00, 0x70, 0xc0, 0x30, 0xe0, 0x00, 0x00,
194 /* 't' */ 5, 5, 0, 5, 6,
195 0x40, 0xf0, 0x40, 0x40, 0x30, 0x00, 0x00,
196 /* 'u' */ 5, 5, 0, 5, 6,
197 0x00, 0x90, 0x90, 0x90, 0x70, 0x00, 0x00,
198 /* 'v' */ 5, 5, 0, 5, 6,
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' */ 5, 5, 0, 5, 6,
203 0x00, 0x90, 0x60, 0x60, 0x90, 0x00, 0x00,
204 /* 'y' */ 5, 7, 0, 5, 6,
205 0x00, 0x90, 0x90, 0x90, 0x70, 0x10, 0x60,
206 /* 'z' */ 5, 5, 0, 5, 6,
207 0x00, 0xf0, 0x20, 0x40, 0xf0, 0x00, 0x00,
208 /* '{' */ 5, 5, 0, 5, 6,
209 0x30, 0x40, 0x20, 0x40, 0x30, 0x00, 0x00,
210 /* '|' */ 5, 5, 0, 5, 6,
211 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
212 /* '}' */ 5, 5, 0, 5, 6,
213 0x60, 0x10, 0x20, 0x10, 0x60, 0x00, 0x00,
214 /* '~' */ 5, 5, 0, 5, 6,
215 0x00, 0x50, 0xa0, 0x00, 0x00, 0x00, 0x00,
218 static struct GP_FontFace tiny_mono = {
219 .family_name = "Tiny",
220 .style_name = "Mono",
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_mono_glyphs,
228 .glyph_offsets = {12},
231 struct GP_FontFace *GP_FontTinyMono = &tiny_mono;