diff options
-rw-r--r-- | apps/credits.c | 8 | ||||
-rw-r--r-- | apps/main.c | 17 | ||||
-rw-r--r-- | apps/main_menu.c | 5 | ||||
-rw-r--r-- | apps/menu.c | 39 | ||||
-rw-r--r-- | apps/recorder/bounce.c | 1 | ||||
-rw-r--r-- | apps/recorder/icons.c | 23 | ||||
-rw-r--r-- | apps/recorder/wormlet.c | 4 | ||||
-rw-r--r-- | apps/settings.c | 107 | ||||
-rw-r--r-- | apps/tree.c | 36 | ||||
-rw-r--r-- | apps/wps-display.c | 20 | ||||
-rw-r--r-- | apps/wps.c | 46 | ||||
-rw-r--r-- | docs/AJF | 29 | ||||
-rw-r--r-- | firmware/X5x8.bdf | 1967 | ||||
-rw-r--r-- | firmware/X5x8.c | 2853 | ||||
-rw-r--r-- | firmware/ajf.c | 100 | ||||
-rw-r--r-- | firmware/ajf.h | 52 | ||||
-rw-r--r-- | firmware/chartables.c | 248 | ||||
-rw-r--r-- | firmware/debug.h | 3 | ||||
-rw-r--r-- | firmware/drivers/fat.c | 29 | ||||
-rw-r--r-- | firmware/drivers/lcd.c | 315 | ||||
-rw-r--r-- | firmware/drivers/lcd.h | 17 | ||||
-rw-r--r-- | firmware/font.c | 228 | ||||
-rw-r--r-- | firmware/font.h | 126 | ||||
-rw-r--r-- | firmware/loadfont.c | 202 | ||||
-rw-r--r-- | firmware/panic.c | 5 | ||||
-rw-r--r-- | firmware/unicode.c | 101 | ||||
-rw-r--r-- | firmware/unicode.h | 36 | ||||
-rw-r--r-- | uisimulator/x11/Makefile | 30 | ||||
-rw-r--r-- | uisimulator/x11/uibasic.c | 1 |
29 files changed, 5528 insertions, 1120 deletions
diff --git a/apps/credits.c b/apps/credits.c index f3bbd5992b..f8b060f31c 100644 --- a/apps/credits.c +++ b/apps/credits.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include "credits.h" | 20 | #include "credits.h" |
21 | #include "lcd.h" | 21 | #include "lcd.h" |
22 | #include "font.h" | ||
22 | #include "kernel.h" | 23 | #include "kernel.h" |
23 | #include "button.h" | 24 | #include "button.h" |
24 | #include "sprintf.h" | 25 | #include "sprintf.h" |
@@ -64,6 +65,7 @@ char* credits[] = { | |||
64 | "Chad Lockwood", | 65 | "Chad Lockwood", |
65 | "John Pybus", | 66 | "John Pybus", |
66 | "Randy Wood", | 67 | "Randy Wood", |
68 | "Gregory Haerr", | ||
67 | }; | 69 | }; |
68 | 70 | ||
69 | #ifdef HAVE_LCD_BITMAP | 71 | #ifdef HAVE_LCD_BITMAP |
@@ -111,15 +113,15 @@ void roll_credits(void) | |||
111 | int height; | 113 | int height; |
112 | int width; | 114 | int width; |
113 | 115 | ||
114 | lcd_getfontsize(0, &width, &height); | 116 | lcd_getfontsize(FONT_UI, &width, &height); |
115 | 117 | ||
116 | while(1) { | 118 | while(1) { |
117 | lcd_clear_display(); | 119 | lcd_clear_display(); |
118 | for ( i=0; i <= (64-y)/height; i++ ) | 120 | for ( i=0; i <= (64-y)/height; i++ ) |
119 | lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"", 0); | 121 | lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"", FONT_UI); |
120 | snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ", | 122 | snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ", |
121 | line+1, numnames); | 123 | line+1, numnames); |
122 | lcd_putsxy(0, 0, buffer, 0); | 124 | lcd_putsxy(0, 0, buffer, FONT_UI); |
123 | lcd_update(); | 125 | lcd_update(); |
124 | 126 | ||
125 | if (button_get_w_tmo(HZ/20)) | 127 | if (button_get_w_tmo(HZ/20)) |
diff --git a/apps/main.c b/apps/main.c index 22fd8f6051..4b8c9e1e7e 100644 --- a/apps/main.c +++ b/apps/main.c | |||
@@ -45,9 +45,7 @@ | |||
45 | #include "debug_menu.h" | 45 | #include "debug_menu.h" |
46 | #include "version.h" | 46 | #include "version.h" |
47 | #include "sprintf.h" | 47 | #include "sprintf.h" |
48 | #ifdef LOADABLE_FONTS | 48 | #include "font.h" |
49 | #include "unicode.h" | ||
50 | #endif | ||
51 | 49 | ||
52 | 50 | ||
53 | char appsversion[]=APPSVERSION; | 51 | char appsversion[]=APPSVERSION; |
@@ -65,10 +63,8 @@ void app_main(void) | |||
65 | void init(void) | 63 | void init(void) |
66 | { | 64 | { |
67 | init_threads(); | 65 | init_threads(); |
68 | #ifdef LOADABLE_FONTS | ||
69 | unicode_init(); | ||
70 | #endif | ||
71 | lcd_init(); | 66 | lcd_init(); |
67 | font_init(); | ||
72 | show_logo(); | 68 | show_logo(); |
73 | settings_reset(); | 69 | settings_reset(); |
74 | settings_load(); | 70 | settings_load(); |
@@ -93,6 +89,10 @@ void init(void) | |||
93 | 89 | ||
94 | lcd_init(); | 90 | lcd_init(); |
95 | 91 | ||
92 | // FIXME should call font_init before this, | ||
93 | // because may use loadable font in show_logo(). | ||
94 | // I didn't call font_init here, since | ||
95 | // disk system isn't up yet. | ||
96 | show_logo(); | 96 | show_logo(); |
97 | 97 | ||
98 | #ifdef DEBUG | 98 | #ifdef DEBUG |
@@ -160,10 +160,7 @@ void init(void) | |||
160 | status_init(); | 160 | status_init(); |
161 | usb_start_monitoring(); | 161 | usb_start_monitoring(); |
162 | power_init(); | 162 | power_init(); |
163 | #ifdef LOADABLE_FONTS | 163 | font_init(); |
164 | unicode_init(); | ||
165 | lcd_init_fonts(); | ||
166 | #endif | ||
167 | } | 164 | } |
168 | 165 | ||
169 | int main(void) | 166 | int main(void) |
diff --git a/apps/main_menu.c b/apps/main_menu.c index 464b514bc3..8c0b6a01f3 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include "tree.h" | 23 | #include "tree.h" |
24 | #include "credits.h" | 24 | #include "credits.h" |
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | #include "font.h" | ||
26 | #include "button.h" | 27 | #include "button.h" |
27 | #include "kernel.h" | 28 | #include "kernel.h" |
28 | #include "main_menu.h" | 29 | #include "main_menu.h" |
@@ -96,9 +97,9 @@ int show_logo( void ) | |||
96 | #endif | 97 | #endif |
97 | 98 | ||
98 | snprintf(version, sizeof(version), "Ver. %s", appsversion); | 99 | snprintf(version, sizeof(version), "Ver. %s", appsversion); |
99 | lcd_getfontsize(0, &font_w, &font_h); | 100 | lcd_getfontsize(FONT_SYSFIXED, &font_w, &font_h); |
100 | lcd_putsxy((LCD_WIDTH/2) - ((strlen(version)*font_w)/2), | 101 | lcd_putsxy((LCD_WIDTH/2) - ((strlen(version)*font_w)/2), |
101 | height+10+font_h, version, 0); | 102 | LCD_HEIGHT-font_h, version, FONT_SYSFIXED); |
102 | lcd_update(); | 103 | lcd_update(); |
103 | 104 | ||
104 | #else | 105 | #else |
diff --git a/apps/menu.c b/apps/menu.c index f690a1a381..dd5b9ba1e8 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <stdbool.h> | 19 | #include <stdbool.h> |
20 | 20 | ||
21 | #include "lcd.h" | 21 | #include "lcd.h" |
22 | #include "font.h" | ||
22 | #include "backlight.h" | 23 | #include "backlight.h" |
23 | #include "menu.h" | 24 | #include "menu.h" |
24 | #include "button.h" | 25 | #include "button.h" |
@@ -34,10 +35,6 @@ | |||
34 | #include "widgets.h" | 35 | #include "widgets.h" |
35 | #endif | 36 | #endif |
36 | 37 | ||
37 | #ifdef LOADABLE_FONTS | ||
38 | #include "ajf.h" | ||
39 | #endif | ||
40 | |||
41 | struct menu { | 38 | struct menu { |
42 | int top; | 39 | int top; |
43 | int cursor; | 40 | int cursor; |
@@ -54,8 +51,10 @@ struct menu { | |||
54 | 51 | ||
55 | #define LINE_X 0 /* X position the entry-list starts at */ | 52 | #define LINE_X 0 /* X position the entry-list starts at */ |
56 | #define LINE_Y (global_settings.statusbar ? 1 : 0) /* Y position the entry-list starts at */ | 53 | #define LINE_Y (global_settings.statusbar ? 1 : 0) /* Y position the entry-list starts at */ |
57 | #define LINE_HEIGTH 8 /* pixels for each text line */ | ||
58 | 54 | ||
55 | //FIXME remove | ||
56 | #define LINE_HEIGTH 8 /* pixels for each text line */ | ||
57 | //FIXME remove | ||
59 | #define MENU_LINES (LCD_HEIGHT / LINE_HEIGTH - LINE_Y) | 58 | #define MENU_LINES (LCD_HEIGHT / LINE_HEIGTH - LINE_Y) |
60 | 59 | ||
61 | #define CURSOR_X (global_settings.scrollbar ? 1 : 0) | 60 | #define CURSOR_X (global_settings.scrollbar ? 1 : 0) |
@@ -89,17 +88,12 @@ struct menu { | |||
89 | static struct menu menus[MAX_MENUS]; | 88 | static struct menu menus[MAX_MENUS]; |
90 | static bool inuse[MAX_MENUS] = { false }; | 89 | static bool inuse[MAX_MENUS] = { false }; |
91 | 90 | ||
92 | /* count in letter posistions, NOT pixels */ | 91 | /* count in letter positions, NOT pixels */ |
93 | void put_cursorxy(int x, int y, bool on) | 92 | void put_cursorxy(int x, int y, bool on) |
94 | { | 93 | { |
95 | #ifdef HAVE_LCD_BITMAP | 94 | #ifdef HAVE_LCD_BITMAP |
96 | #ifdef LOADABLE_FONTS | 95 | int fh, fw; |
97 | int fh; | 96 | lcd_getfontsize(FONT_UI, &fw, &fh); |
98 | unsigned char* font = lcd_getcurrentldfont(); | ||
99 | fh = ajf_get_fontheight(font); | ||
100 | #else | ||
101 | int fh = 8; | ||
102 | #endif | ||
103 | #endif | 97 | #endif |
104 | 98 | ||
105 | /* place the cursor */ | 99 | /* place the cursor */ |
@@ -131,11 +125,10 @@ void put_cursorxy(int x, int y, bool on) | |||
131 | static void menu_draw(int m) | 125 | static void menu_draw(int m) |
132 | { | 126 | { |
133 | int i = 0; | 127 | int i = 0; |
134 | #ifdef LOADABLE_FONTS | 128 | #if LCD_PROPFONTS |
129 | int fw, fh; | ||
135 | int menu_lines; | 130 | int menu_lines; |
136 | int fh; | 131 | lcd_getfontsize(FONT_UI, &fw, &fh); |
137 | unsigned char* font = lcd_getcurrentldfont(); | ||
138 | fh = ajf_get_fontheight(font); | ||
139 | if (global_settings.statusbar) | 132 | if (global_settings.statusbar) |
140 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; | 133 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; |
141 | else | 134 | else |
@@ -148,7 +141,7 @@ static void menu_draw(int m) | |||
148 | lcd_clear_display(); /* ...then clean the screen */ | 141 | lcd_clear_display(); /* ...then clean the screen */ |
149 | #ifdef HAVE_LCD_BITMAP | 142 | #ifdef HAVE_LCD_BITMAP |
150 | lcd_setmargins(MARGIN_X,MARGIN_Y); /* leave room for cursor and icon */ | 143 | lcd_setmargins(MARGIN_X,MARGIN_Y); /* leave room for cursor and icon */ |
151 | lcd_setfont(0); | 144 | lcd_setfont(FONT_UI); |
152 | #endif | 145 | #endif |
153 | /* correct cursor pos if out of screen */ | 146 | /* correct cursor pos if out of screen */ |
154 | if (menus[m].cursor - menus[m].top >= menu_lines) | 147 | if (menus[m].cursor - menus[m].top >= menu_lines) |
@@ -182,18 +175,18 @@ static void menu_draw(int m) | |||
182 | static void put_cursor(int m, int target) | 175 | static void put_cursor(int m, int target) |
183 | { | 176 | { |
184 | bool do_update = true; | 177 | bool do_update = true; |
185 | #ifdef LOADABLE_FONTS | 178 | #if LCD_PROPFONTS |
179 | int fw, fh; | ||
186 | int menu_lines; | 180 | int menu_lines; |
187 | int fh; | 181 | lcd_getfontsize(FONT_UI, &fw, &fh); |
188 | unsigned char* font = lcd_getcurrentldfont(); | ||
189 | fh = ajf_get_fontheight(font); | ||
190 | if (global_settings.statusbar) | 182 | if (global_settings.statusbar) |
191 | menu_lines = (LCD_HEIGHT-STATUSBAR_HEIGHT)/fh; | 183 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; |
192 | else | 184 | else |
193 | menu_lines = LCD_HEIGHT/fh; | 185 | menu_lines = LCD_HEIGHT/fh; |
194 | #else | 186 | #else |
195 | int menu_lines = MENU_LINES; | 187 | int menu_lines = MENU_LINES; |
196 | #endif | 188 | #endif |
189 | |||
197 | put_cursorxy(CURSOR_X, menus[m].cursor - menus[m].top, false); | 190 | put_cursorxy(CURSOR_X, menus[m].cursor - menus[m].top, false); |
198 | menus[m].cursor = target; | 191 | menus[m].cursor = target; |
199 | menu_draw(m); | 192 | menu_draw(m); |
diff --git a/apps/recorder/bounce.c b/apps/recorder/bounce.c index 96291066e5..999ba47366 100644 --- a/apps/recorder/bounce.c +++ b/apps/recorder/bounce.c | |||
@@ -136,7 +136,6 @@ static void loopit(void) | |||
136 | lcd_bitmap((char *)char_gen_12x16[rock[i]-0x20], | 136 | lcd_bitmap((char *)char_gen_12x16[rock[i]-0x20], |
137 | xtable[xx%71], table[yy&63], | 137 | xtable[xx%71], table[yy&63], |
138 | 11, 16, false); | 138 | 11, 16, false); |
139 | |||
140 | lcd_update(); | 139 | lcd_update(); |
141 | 140 | ||
142 | ysanke+= values[NUM_YSANKE].num; | 141 | ysanke+= values[NUM_YSANKE].num; |
diff --git a/apps/recorder/icons.c b/apps/recorder/icons.c index 0501a3f0c0..fbfaf6cd8c 100644 --- a/apps/recorder/icons.c +++ b/apps/recorder/icons.c | |||
@@ -16,8 +16,9 @@ | |||
16 | * KIND, either express or implied. | 16 | * KIND, either express or implied. |
17 | * | 17 | * |
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | #include <lcd.h> | ||
20 | #include <string.h> | 19 | #include <string.h> |
20 | #include "lcd.h" | ||
21 | #include "font.h" | ||
21 | #include "kernel.h" | 22 | #include "kernel.h" |
22 | #include "sprintf.h" | 23 | #include "sprintf.h" |
23 | #include "rtc.h" | 24 | #include "rtc.h" |
@@ -233,15 +234,7 @@ void statusbar_icon_volume(int percent) | |||
233 | /* display volume lever numerical? */ | 234 | /* display volume lever numerical? */ |
234 | if (TIME_BEFORE(current_tick,switch_tick)) { | 235 | if (TIME_BEFORE(current_tick,switch_tick)) { |
235 | snprintf(buffer, sizeof(buffer), "%2d", percent); | 236 | snprintf(buffer, sizeof(buffer), "%2d", percent); |
236 | #if defined(LCD_PROPFONTS) | 237 | lcd_getstringsize(buffer, FONT_UI, &width, &height); |
237 | lcd_getstringsize(buffer, 0, &width, &height); | ||
238 | #elif defined(LOADABLE_FONTS) | ||
239 | font = lcd_getcurrentldfont(); | ||
240 | lcd_getstringsize(buffer, font, &width, &height); | ||
241 | #else | ||
242 | width = 6*strlen(buffer); | ||
243 | height = 8; | ||
244 | #endif | ||
245 | if (height <= STATUSBAR_HEIGHT) | 238 | if (height <= STATUSBAR_HEIGHT) |
246 | lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 - | 239 | lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 - |
247 | width/2, STATUSBAR_Y_POS, buffer, 0); | 240 | width/2, STATUSBAR_Y_POS, buffer, 0); |
@@ -316,15 +309,7 @@ void statusbar_time(int hour, int minute) | |||
316 | strncpy(buffer, "--:--", sizeof buffer); | 309 | strncpy(buffer, "--:--", sizeof buffer); |
317 | } | 310 | } |
318 | 311 | ||
319 | #if defined(LCD_PROPFONTS) | 312 | lcd_getstringsize(buffer, FONT_UI, &width, &height); |
320 | lcd_getstringsize(buffer, 0, &width, &height); | ||
321 | #elif defined(LOADABLE_FONTS) | ||
322 | font = lcd_getcurrentldfont(); | ||
323 | lcd_getstringsize(buffer, font, &width, &height); | ||
324 | #else | ||
325 | width = 6*strlen(buffer); | ||
326 | height = 8; | ||
327 | #endif | ||
328 | if (height <= STATUSBAR_HEIGHT) | 313 | if (height <= STATUSBAR_HEIGHT) |
329 | lcd_putsxy(TIME_X_END - width, STATUSBAR_Y_POS, buffer, 0); | 314 | lcd_putsxy(TIME_X_END - width, STATUSBAR_Y_POS, buffer, 0); |
330 | } | 315 | } |
diff --git a/apps/recorder/wormlet.c b/apps/recorder/wormlet.c index ba96f6b9de..84ee55062c 100644 --- a/apps/recorder/wormlet.c +++ b/apps/recorder/wormlet.c | |||
@@ -67,11 +67,7 @@ | |||
67 | /* size of the field the worm lives in */ | 67 | /* size of the field the worm lives in */ |
68 | #define FIELD_RECT_X 1 | 68 | #define FIELD_RECT_X 1 |
69 | #define FIELD_RECT_Y 1 | 69 | #define FIELD_RECT_Y 1 |
70 | #ifdef LCD_PROPFONTS | ||
71 | #define FIELD_RECT_WIDTH (LCD_WIDTH - 39) | 70 | #define FIELD_RECT_WIDTH (LCD_WIDTH - 39) |
72 | #else | ||
73 | #define FIELD_RECT_WIDTH (LCD_WIDTH - 46) | ||
74 | #endif | ||
75 | #define FIELD_RECT_HEIGHT (LCD_HEIGHT - 2) | 71 | #define FIELD_RECT_HEIGHT (LCD_HEIGHT - 2) |
76 | 72 | ||
77 | /* size of the ring of the worm | 73 | /* size of the ring of the worm |
diff --git a/apps/settings.c b/apps/settings.c index a1bbe4a3db..ce2b28f16b 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include "atoi.h" | 40 | #include "atoi.h" |
41 | #ifdef HAVE_LCD_BITMAP | 41 | #ifdef HAVE_LCD_BITMAP |
42 | #include "icons.h" | 42 | #include "icons.h" |
43 | #include "font.h" | ||
43 | #endif | 44 | #endif |
44 | 45 | ||
45 | struct user_settings global_settings; | 46 | struct user_settings global_settings; |
@@ -772,15 +773,10 @@ void set_time(char* string, int timedate[]) | |||
772 | int realyear; | 773 | int realyear; |
773 | int julianday; | 774 | int julianday; |
774 | int i; | 775 | int i; |
775 | #if defined(LOADABLE_FONTS) || defined(LCD_PROPFONTS) | ||
776 | unsigned char reffub[5]; | 776 | unsigned char reffub[5]; |
777 | unsigned int width, height; | 777 | unsigned int width, height; |
778 | unsigned int separator_width, weekday_width; | 778 | unsigned int separator_width, weekday_width; |
779 | unsigned int line_height, prev_line_height; | 779 | unsigned int line_height, prev_line_height; |
780 | #if defined(LOADABLE_FONTS) | ||
781 | unsigned char *font = lcd_getcurrentldfont(); | ||
782 | #endif | ||
783 | #endif | ||
784 | 780 | ||
785 | #ifdef HAVE_LCD_BITMAP | 781 | #ifdef HAVE_LCD_BITMAP |
786 | if(global_settings.statusbar) | 782 | if(global_settings.statusbar) |
@@ -817,65 +813,35 @@ void set_time(char* string, int timedate[]) | |||
817 | timedate[1], | 813 | timedate[1], |
818 | timedate[2]); | 814 | timedate[2]); |
819 | lcd_puts(0, 1, buffer); | 815 | lcd_puts(0, 1, buffer); |
820 | #if defined(LCD_PROPFONTS) | 816 | |
821 | /* recalculate the positions and offsets */ | 817 | /* recalculate the positions and offsets */ |
822 | lcd_getstringsize(string, 0, &width, &prev_line_height); | 818 | lcd_getstringsize(string, FONT_UI, &width, &prev_line_height); |
823 | lcd_getstringsize(buffer, 0, &width, &line_height); | 819 | lcd_getstringsize(buffer, FONT_UI, &width, &line_height); |
824 | lcd_getstringsize(":", 0, &separator_width, &height); | 820 | lcd_getstringsize(":", FONT_UI, &separator_width, &height); |
825 | 821 | ||
826 | strncpy(reffub, buffer, 2); | 822 | strncpy(reffub, buffer, 2); |
827 | reffub[2] = '\0'; | 823 | reffub[2] = '\0'; |
828 | lcd_getstringsize(reffub, 0, &width, &height); | 824 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
829 | cursor[0][INDEX_X] = 0; | 825 | cursor[0][INDEX_X] = 0; |
830 | cursor[0][INDEX_Y] = 1 + prev_line_height + 1; | 826 | cursor[0][INDEX_Y] = 1 + prev_line_height + 1; |
831 | cursor[0][INDEX_WIDTH] = width; | 827 | cursor[0][INDEX_WIDTH] = width; |
832 | 828 | ||
833 | strncpy(reffub, buffer + 3, 2); | 829 | strncpy(reffub, buffer + 3, 2); |
834 | reffub[2] = '\0'; | 830 | reffub[2] = '\0'; |
835 | lcd_getstringsize(reffub, 0, &width, &height); | 831 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
836 | cursor[1][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width; | 832 | cursor[1][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width; |
837 | cursor[1][INDEX_Y] = 1 + prev_line_height + 1; | 833 | cursor[1][INDEX_Y] = 1 + prev_line_height + 1; |
838 | cursor[1][INDEX_WIDTH] = width; | 834 | cursor[1][INDEX_WIDTH] = width; |
839 | 835 | ||
840 | strncpy(reffub, buffer + 6, 2); | 836 | strncpy(reffub, buffer + 6, 2); |
841 | reffub[2] = '\0'; | 837 | reffub[2] = '\0'; |
842 | lcd_getstringsize(reffub, 0, &width, &height); | 838 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
843 | cursor[2][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width + | 839 | cursor[2][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width + |
844 | cursor[1][INDEX_WIDTH] + separator_width; | 840 | cursor[1][INDEX_WIDTH] + separator_width; |
845 | cursor[2][INDEX_Y] = 1 + prev_line_height + 1; | 841 | cursor[2][INDEX_Y] = 1 + prev_line_height + 1; |
846 | cursor[2][INDEX_WIDTH] = width; | 842 | cursor[2][INDEX_WIDTH] = width; |
847 | 843 | ||
848 | lcd_getstringsize(buffer, 0, &width, &prev_line_height); | 844 | lcd_getstringsize(buffer, FONT_UI, &width, &prev_line_height); |
849 | #elif defined(LOADABLE_FONTS) | ||
850 | /* recalculate the positions and offsets */ | ||
851 | lcd_getstringsize(string, font, &width, &prev_line_height); | ||
852 | lcd_getstringsize(buffer, font, &width, &line_height); | ||
853 | lcd_getstringsize(":", font, &separator_width, &height); | ||
854 | |||
855 | strncpy(reffub, buffer, 2); | ||
856 | reffub[2] = '\0'; | ||
857 | lcd_getstringsize(reffub, font, &width, &height); | ||
858 | cursor[0][INDEX_X] = 0; | ||
859 | cursor[0][INDEX_Y] = prev_line_height; | ||
860 | cursor[0][INDEX_WIDTH] = width; | ||
861 | |||
862 | strncpy(reffub, buffer + 3, 2); | ||
863 | reffub[2] = '\0'; | ||
864 | lcd_getstringsize(reffub, font, &width, &height); | ||
865 | cursor[1][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width; | ||
866 | cursor[1][INDEX_Y] = prev_line_height; | ||
867 | cursor[1][INDEX_WIDTH] = width; | ||
868 | |||
869 | strncpy(reffub, buffer + 6, 2); | ||
870 | reffub[2] = '\0'; | ||
871 | lcd_getstringsize(reffub, font, &width, &height); | ||
872 | cursor[2][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width + | ||
873 | cursor[1][INDEX_WIDTH] + separator_width; | ||
874 | cursor[2][INDEX_Y] = prev_line_height; | ||
875 | cursor[2][INDEX_WIDTH] = width; | ||
876 | |||
877 | lcd_getstringsize(buffer, font, &width, &prev_line_height); | ||
878 | #endif | ||
879 | 845 | ||
880 | snprintf(buffer, sizeof(buffer), "%s 20%02d %s %02d ", | 846 | snprintf(buffer, sizeof(buffer), "%s 20%02d %s %02d ", |
881 | dayname[timedate[6]], | 847 | dayname[timedate[6]], |
@@ -883,24 +849,24 @@ void set_time(char* string, int timedate[]) | |||
883 | monthname[timedate[4] - 1], | 849 | monthname[timedate[4] - 1], |
884 | timedate[5]); | 850 | timedate[5]); |
885 | lcd_puts(0, 2, buffer); | 851 | lcd_puts(0, 2, buffer); |
886 | #if defined(LCD_PROPFONTS) | 852 | |
887 | /* recalculate the positions and offsets */ | 853 | /* recalculate the positions and offsets */ |
888 | lcd_getstringsize(buffer, 0, &width, &line_height); | 854 | lcd_getstringsize(buffer, FONT_UI, &width, &line_height); |
889 | strncpy(reffub, buffer, 3); | 855 | strncpy(reffub, buffer, 3); |
890 | reffub[3] = '\0'; | 856 | reffub[3] = '\0'; |
891 | lcd_getstringsize(reffub, 0, &weekday_width, &height); | 857 | lcd_getstringsize(reffub, FONT_UI, &weekday_width, &height); |
892 | lcd_getstringsize(" ", 0, &separator_width, &height); | 858 | lcd_getstringsize(" ", FONT_UI, &separator_width, &height); |
893 | 859 | ||
894 | strncpy(reffub, buffer + 4, 4); | 860 | strncpy(reffub, buffer + 4, 4); |
895 | reffub[4] = '\0'; | 861 | reffub[4] = '\0'; |
896 | lcd_getstringsize(reffub, 0, &width, &height); | 862 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
897 | cursor[3][INDEX_X] = weekday_width + separator_width; | 863 | cursor[3][INDEX_X] = weekday_width + separator_width; |
898 | cursor[3][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height + 1; | 864 | cursor[3][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height + 1; |
899 | cursor[3][INDEX_WIDTH] = width; | 865 | cursor[3][INDEX_WIDTH] = width; |
900 | 866 | ||
901 | strncpy(reffub, buffer + 9, 3); | 867 | strncpy(reffub, buffer + 9, 3); |
902 | reffub[3] = '\0'; | 868 | reffub[3] = '\0'; |
903 | lcd_getstringsize(reffub, 0, &width, &height); | 869 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
904 | cursor[4][INDEX_X] = weekday_width + separator_width + | 870 | cursor[4][INDEX_X] = weekday_width + separator_width + |
905 | cursor[3][INDEX_WIDTH] + separator_width; | 871 | cursor[3][INDEX_WIDTH] + separator_width; |
906 | cursor[4][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height + 1; | 872 | cursor[4][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height + 1; |
@@ -908,7 +874,7 @@ void set_time(char* string, int timedate[]) | |||
908 | 874 | ||
909 | strncpy(reffub, buffer + 13, 2); | 875 | strncpy(reffub, buffer + 13, 2); |
910 | reffub[2] = '\0'; | 876 | reffub[2] = '\0'; |
911 | lcd_getstringsize(reffub, 0, &width, &height); | 877 | lcd_getstringsize(reffub, FONT_UI, &width, &height); |
912 | cursor[5][INDEX_X] = weekday_width + separator_width + | 878 | cursor[5][INDEX_X] = weekday_width + separator_width + |
913 | cursor[3][INDEX_WIDTH] + separator_width + | 879 | cursor[3][INDEX_WIDTH] + separator_width + |
914 | cursor[4][INDEX_WIDTH] + separator_width; | 880 | cursor[4][INDEX_WIDTH] + separator_width; |
@@ -919,48 +885,7 @@ void set_time(char* string, int timedate[]) | |||
919 | cursor[cursorpos][INDEX_Y] + lcd_getymargin(), | 885 | cursor[cursorpos][INDEX_Y] + lcd_getymargin(), |
920 | cursor[cursorpos][INDEX_WIDTH], | 886 | cursor[cursorpos][INDEX_WIDTH], |
921 | line_height); | 887 | line_height); |
922 | #elif defined(LOADABLE_FONTS) | ||
923 | /* recalculate the positions and offsets */ | ||
924 | lcd_getstringsize(buffer, font, &width, &line_height); | ||
925 | strncpy(reffub, buffer, 3); | ||
926 | reffub[3] = '\0'; | ||
927 | lcd_getstringsize(reffub, font, &weekday_width, &height); | ||
928 | lcd_getstringsize(" ", font, &separator_width, &height); | ||
929 | 888 | ||
930 | strncpy(reffub, buffer + 4, 4); | ||
931 | reffub[4] = '\0'; | ||
932 | lcd_getstringsize(reffub, font, &width, &height); | ||
933 | cursor[3][INDEX_X] = weekday_width + separator_width; | ||
934 | cursor[3][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height; | ||
935 | cursor[3][INDEX_WIDTH] = width; | ||
936 | |||
937 | strncpy(reffub, buffer + 9, 3); | ||
938 | reffub[3] = '\0'; | ||
939 | lcd_getstringsize(reffub, font, &width, &height); | ||
940 | cursor[4][INDEX_X] = weekday_width + separator_width + | ||
941 | cursor[3][INDEX_WIDTH] + separator_width; | ||
942 | cursor[4][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height; | ||
943 | cursor[4][INDEX_WIDTH] = width; | ||
944 | |||
945 | strncpy(reffub, buffer + 13, 2); | ||
946 | reffub[2] = '\0'; | ||
947 | lcd_getstringsize(reffub, font, &width, &height); | ||
948 | cursor[5][INDEX_X] = weekday_width + separator_width + | ||
949 | cursor[3][INDEX_WIDTH] + separator_width + | ||
950 | cursor[4][INDEX_WIDTH] + separator_width; | ||
951 | cursor[5][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height; | ||
952 | cursor[5][INDEX_WIDTH] = width; | ||
953 | |||
954 | lcd_invertrect(cursor[cursorpos][INDEX_X], | ||
955 | cursor[cursorpos][INDEX_Y] + lcd_getymargin(), | ||
956 | cursor[cursorpos][INDEX_WIDTH], | ||
957 | line_height); | ||
958 | #else | ||
959 | lcd_invertrect(cursor[cursorpos][INDEX_X], | ||
960 | cursor[cursorpos][INDEX_Y] + lcd_getymargin(), | ||
961 | cursor[cursorpos][INDEX_WIDTH], | ||
962 | 8); | ||
963 | #endif | ||
964 | lcd_puts(0, 4, "ON to set"); | 889 | lcd_puts(0, 4, "ON to set"); |
965 | lcd_puts(0, 5, "OFF to revert"); | 890 | lcd_puts(0, 5, "OFF to revert"); |
966 | #ifdef HAVE_LCD_BITMAP | 891 | #ifdef HAVE_LCD_BITMAP |
diff --git a/apps/tree.c b/apps/tree.c index 47853f03c9..21aa78c74d 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include "dir.h" | 26 | #include "dir.h" |
27 | #include "file.h" | 27 | #include "file.h" |
28 | #include "lcd.h" | 28 | #include "lcd.h" |
29 | #include "font.h" | ||
29 | #include "backlight.h" | 30 | #include "backlight.h" |
30 | #include "button.h" | 31 | #include "button.h" |
31 | #include "kernel.h" | 32 | #include "kernel.h" |
@@ -49,10 +50,6 @@ | |||
49 | #include "widgets.h" | 50 | #include "widgets.h" |
50 | #endif | 51 | #endif |
51 | 52 | ||
52 | #ifdef LOADABLE_FONTS | ||
53 | #include "ajf.h" | ||
54 | #endif | ||
55 | |||
56 | #define NAME_BUFFER_SIZE (AVERAGE_FILENAME_LENGTH * MAX_FILES_IN_DIR) | 53 | #define NAME_BUFFER_SIZE (AVERAGE_FILENAME_LENGTH * MAX_FILES_IN_DIR) |
57 | 54 | ||
58 | char name_buffer[NAME_BUFFER_SIZE]; | 55 | char name_buffer[NAME_BUFFER_SIZE]; |
@@ -190,17 +187,16 @@ static int showdir(char *path, int start) | |||
190 | int i; | 187 | int i; |
191 | int tree_max_on_screen; | 188 | int tree_max_on_screen; |
192 | bool dir_buffer_full; | 189 | bool dir_buffer_full; |
193 | #ifdef LOADABLE_FONTS | 190 | |
194 | int fh; | 191 | #ifdef HAVE_LCD_BITMAP |
195 | unsigned char *font = lcd_getcurrentldfont(); | 192 | int fw, fh; |
196 | fh = ajf_get_fontheight(font); | 193 | lcd_getfontsize(FONT_UI, &fw, &fh); |
197 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 194 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
198 | line_height = fh; | 195 | line_height = fh; |
199 | #else | 196 | #else |
200 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | 197 | tree_max_on_screen = TREE_MAX_ON_SCREEN; |
201 | #endif | 198 | #endif |
202 | 199 | ||
203 | |||
204 | /* new dir? cache it */ | 200 | /* new dir? cache it */ |
205 | if (strncmp(path,lastdir,sizeof(lastdir))) { | 201 | if (strncmp(path,lastdir,sizeof(lastdir))) { |
206 | DIR *dir = opendir(path); | 202 | DIR *dir = opendir(path); |
@@ -339,7 +335,7 @@ static int showdir(char *path, int start) | |||
339 | lcd_clear_display(); | 335 | lcd_clear_display(); |
340 | #ifdef HAVE_LCD_BITMAP | 336 | #ifdef HAVE_LCD_BITMAP |
341 | lcd_setmargins(MARGIN_X,MARGIN_Y); /* leave room for cursor and icon */ | 337 | lcd_setmargins(MARGIN_X,MARGIN_Y); /* leave room for cursor and icon */ |
342 | lcd_setfont(0); | 338 | lcd_setfont(FONT_UI); |
343 | #endif | 339 | #endif |
344 | 340 | ||
345 | for ( i=start; i < start+tree_max_on_screen; i++ ) { | 341 | for ( i=start; i < start+tree_max_on_screen; i++ ) { |
@@ -573,10 +569,9 @@ bool dirbrowse(char *root) | |||
573 | bool lastfilter = global_settings.mp3filter; | 569 | bool lastfilter = global_settings.mp3filter; |
574 | bool lastsortcase = global_settings.sort_case; | 570 | bool lastsortcase = global_settings.sort_case; |
575 | bool lastshowhidden = global_settings.show_hidden_files; | 571 | bool lastshowhidden = global_settings.show_hidden_files; |
576 | #ifdef LOADABLE_FONTS | 572 | #ifdef HAVE_LCD_BITMAP |
577 | int fh; | 573 | int fw, fh; |
578 | unsigned char *font = lcd_getcurrentldfont(); | 574 | lcd_getfontsize(FONT_UI, &fw, &fh); |
579 | fh = ajf_get_fontheight(font); | ||
580 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 575 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
581 | #else | 576 | #else |
582 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | 577 | tree_max_on_screen = TREE_MAX_ON_SCREEN; |
@@ -743,10 +738,8 @@ bool dirbrowse(char *root) | |||
743 | reload_root = true; | 738 | reload_root = true; |
744 | global_settings.resume_index = -1; | 739 | global_settings.resume_index = -1; |
745 | } | 740 | } |
746 | #ifdef LOADABLE_FONTS | 741 | #ifdef HAVE_LCD_BITMAP |
747 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 742 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
748 | #else | ||
749 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | ||
750 | #endif | 743 | #endif |
751 | } | 744 | } |
752 | } | 745 | } |
@@ -836,10 +829,8 @@ bool dirbrowse(char *root) | |||
836 | lcd_stop_scroll(); | 829 | lcd_stop_scroll(); |
837 | if (wps_show() == SYS_USB_CONNECTED) | 830 | if (wps_show() == SYS_USB_CONNECTED) |
838 | reload_root = true; | 831 | reload_root = true; |
839 | #ifdef LOADABLE_FONTS | 832 | #ifdef HAVE_LCD_BITMAP |
840 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 833 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
841 | #else | ||
842 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | ||
843 | #endif | 834 | #endif |
844 | restore = true; | 835 | restore = true; |
845 | } | 836 | } |
@@ -855,10 +846,9 @@ bool dirbrowse(char *root) | |||
855 | case BUTTON_F3: | 846 | case BUTTON_F3: |
856 | if (f3_screen()) | 847 | if (f3_screen()) |
857 | reload_root = true; | 848 | reload_root = true; |
858 | #ifdef LOADABLE_FONTS | 849 | |
850 | #ifdef HAVE_LCD_BITMAP | ||
859 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 851 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
860 | #else | ||
861 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | ||
862 | #endif | 852 | #endif |
863 | restore = true; | 853 | restore = true; |
864 | break; | 854 | break; |
diff --git a/apps/wps-display.c b/apps/wps-display.c index 5d6290d244..8d33c723a4 100644 --- a/apps/wps-display.c +++ b/apps/wps-display.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <stdlib.h> | 27 | #include <stdlib.h> |
28 | 28 | ||
29 | #include "lcd.h" | 29 | #include "lcd.h" |
30 | #include "font.h" | ||
30 | #include "mpeg.h" | 31 | #include "mpeg.h" |
31 | #include "id3.h" | 32 | #include "id3.h" |
32 | #include "settings.h" | 33 | #include "settings.h" |
@@ -42,10 +43,6 @@ | |||
42 | #include "widgets.h" | 43 | #include "widgets.h" |
43 | #endif | 44 | #endif |
44 | 45 | ||
45 | #ifdef LOADABLE_FONTS | ||
46 | #include "ajf.h" | ||
47 | #endif | ||
48 | |||
49 | #define WPS_CONFIG ROCKBOX_DIR "/default.wps" | 46 | #define WPS_CONFIG ROCKBOX_DIR "/default.wps" |
50 | 47 | ||
51 | #ifdef HAVE_LCD_BITMAP | 48 | #ifdef HAVE_LCD_BITMAP |
@@ -551,11 +548,7 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all) | |||
551 | #else | 548 | #else |
552 | int w,h; | 549 | int w,h; |
553 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; | 550 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; |
554 | #ifdef LCD_PROPFONTS | 551 | lcd_getstringsize("M",FONT_UI,&w,&h); |
555 | lcd_getstringsize("M",0,&w,&h); | ||
556 | #else | ||
557 | lcd_getfontsize(0,&w,&h); | ||
558 | #endif | ||
559 | slidebar(0, i*h + offset + 1, LCD_WIDTH, 6, | 552 | slidebar(0, i*h + offset + 1, LCD_WIDTH, 6, |
560 | (id3->elapsed + ff_rewind_count) * 100 / id3->length, | 553 | (id3->elapsed + ff_rewind_count) * 100 / id3->length, |
561 | Grow_Right); | 554 | Grow_Right); |
@@ -581,15 +574,6 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all) | |||
581 | 574 | ||
582 | void wps_display(struct mp3entry* id3) | 575 | void wps_display(struct mp3entry* id3) |
583 | { | 576 | { |
584 | int font_height; | ||
585 | |||
586 | #ifdef LOADABLE_FONTS | ||
587 | unsigned char *font = lcd_getcurrentldfont(); | ||
588 | font_height = ajf_get_fontheight(font); | ||
589 | #else | ||
590 | font_height = 8; | ||
591 | #endif | ||
592 | |||
593 | lcd_clear_display(); | 577 | lcd_clear_display(); |
594 | 578 | ||
595 | if (!id3 && !mpeg_is_playing()) | 579 | if (!id3 && !mpeg_is_playing()) |
diff --git a/apps/wps.c b/apps/wps.c index 4ac2476da7..d10eb92655 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include "file.h" | 23 | #include "file.h" |
24 | #include "lcd.h" | 24 | #include "lcd.h" |
25 | #include "font.h" | ||
25 | #include "backlight.h" | 26 | #include "backlight.h" |
26 | #include "button.h" | 27 | #include "button.h" |
27 | #include "kernel.h" | 28 | #include "kernel.h" |
@@ -40,10 +41,6 @@ | |||
40 | #include "icons.h" | 41 | #include "icons.h" |
41 | #endif | 42 | #endif |
42 | 43 | ||
43 | #ifdef LOADABLE_FONTS | ||
44 | #include "ajf.h" | ||
45 | #endif | ||
46 | |||
47 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ | 44 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ |
48 | /* 3% of 30min file == 54s step size */ | 45 | /* 3% of 30min file == 54s step size */ |
49 | 46 | ||
@@ -634,21 +631,17 @@ bool f2_screen(void) | |||
634 | char buf[32]; | 631 | char buf[32]; |
635 | 632 | ||
636 | /* Get the font height */ | 633 | /* Get the font height */ |
637 | #ifdef LCD_PROPFONTS | 634 | lcd_getstringsize("A",FONT_UI,&w,&h); |
638 | lcd_getstringsize("A",0,&w,&h); | ||
639 | #else | ||
640 | lcd_getfontsize(0,&w,&h); | ||
641 | #endif | ||
642 | 635 | ||
643 | lcd_stop_scroll(); | 636 | lcd_stop_scroll(); |
644 | 637 | ||
645 | while (!exit) { | 638 | while (!exit) { |
646 | lcd_clear_display(); | 639 | lcd_clear_display(); |
647 | 640 | ||
648 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Shuffle", 0); | 641 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Shuffle", FONT_UI); |
649 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "mode:", 0); | 642 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "mode:", FONT_UI); |
650 | lcd_putsxy(0, LCD_HEIGHT/2, | 643 | lcd_putsxy(0, LCD_HEIGHT/2, |
651 | global_settings.playlist_shuffle ? "on" : "off", 0); | 644 | global_settings.playlist_shuffle ? "on" : "off", FONT_UI); |
652 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], | 645 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], |
653 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); | 646 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); |
654 | 647 | ||
@@ -656,13 +649,8 @@ bool f2_screen(void) | |||
656 | global_settings.mp3filter ? "on" : "off"); | 649 | global_settings.mp3filter ? "on" : "off"); |
657 | 650 | ||
658 | /* Get the string width and height */ | 651 | /* Get the string width and height */ |
659 | #ifdef LCD_PROPFONTS | 652 | lcd_getstringsize(buf,FONT_UI,&w,&h); |
660 | lcd_getstringsize(buf,0,&w,&h); | 653 | lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, buf, FONT_UI); |
661 | #else | ||
662 | lcd_getfontsize(0,&w,&h); | ||
663 | w *= strlen(buf); | ||
664 | #endif | ||
665 | lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, buf, 0); | ||
666 | lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow], | 654 | lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow], |
667 | LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true); | 655 | LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true); |
668 | 656 | ||
@@ -717,26 +705,20 @@ bool f3_screen(void) | |||
717 | char* ptr; | 705 | char* ptr; |
718 | 706 | ||
719 | ptr = "Status"; | 707 | ptr = "Status"; |
720 | #ifdef LCD_PROPFONTS | 708 | lcd_getstringsize(ptr,FONT_UI,&w,&h); |
721 | lcd_getstringsize(ptr,0,&w,&h); | ||
722 | #else | ||
723 | lcd_getfontsize(0,&w,&h); | ||
724 | w *= strlen(ptr); | ||
725 | #endif | ||
726 | |||
727 | lcd_clear_display(); | 709 | lcd_clear_display(); |
728 | 710 | ||
729 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Scroll", 0); | 711 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Scroll", FONT_UI); |
730 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "bar:", 0); | 712 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "bar:", FONT_UI); |
731 | lcd_putsxy(0, LCD_HEIGHT/2, | 713 | lcd_putsxy(0, LCD_HEIGHT/2, |
732 | global_settings.scrollbar ? "on" : "off", 0); | 714 | global_settings.scrollbar ? "on" : "off", FONT_UI); |
733 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], | 715 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], |
734 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); | 716 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); |
735 | 717 | ||
736 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr, 0); | 718 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr, FONT_UI); |
737 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, "bar:", 0); | 719 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, "bar:", FONT_UI); |
738 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, | 720 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, |
739 | global_settings.statusbar ? "on" : "off", 0 ); | 721 | global_settings.statusbar ? "on" : "off", FONT_UI); |
740 | lcd_bitmap(bitmap_icons_7x8[Icon_FastForward], | 722 | lcd_bitmap(bitmap_icons_7x8[Icon_FastForward], |
741 | LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true); | 723 | LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true); |
742 | lcd_update(); | 724 | lcd_update(); |
@@ -1,4 +1,4 @@ | |||
1 | Description of the binary AJF font file format | 1 | Description of the binary AJF font file format (version 2) |
2 | 2 | ||
3 | Index Descripton | 3 | Index Descripton |
4 | 4 | ||
@@ -9,14 +9,27 @@ Index Descripton | |||
9 | 23 - 24 "bound width" (high 8 bits, low 8 bits) | 9 | 23 - 24 "bound width" (high 8 bits, low 8 bits) |
10 | 25 - 26 "bound height" (high 8 bits, low 8 bits) | 10 | 25 - 26 "bound height" (high 8 bits, low 8 bits) |
11 | 26 - 28 first character in the font | 11 | 26 - 28 first character in the font |
12 | 29 - 2a 0x00ff (supposed number of characters in the font?) | 12 | 29 - 2a number of characters in the font (alwasys 0x00ff now) |
13 | 2b - map offset table starts here. Each offset entry is supposed to be | 13 | 2b - map offset table starts here. Each offset entry is two bytes: |
14 | three bytes: width, offset highbyte, offset lowbyte | 14 | offset highbyte, offset lowbyte |
15 | The offset is a relative offset, counted in bytes, to where in the | ||
16 | font data this particular char's bitmap image starts. | ||
17 | 15 | ||
18 | font data, in Rockbox-internal image-format. That means column-wise | 16 | The offset is number of bytes from the start of this file, to where |
17 | in the font data this particular char's font data starts. | ||
18 | |||
19 | There is one offset entry for each character in this font, starting | ||
20 | with 'first character' (set above) and ending when all the 'number | ||
21 | of characters' have been stored. | ||
22 | |||
23 | ?? - Font data. First four bytes width, height, dispx and dispy and then | ||
24 | the glyph in Rockbox-internal image-format. That means column-wise | ||
19 | left-to-right for the full width, the first 8 pixels of height. Then | 25 | left-to-right for the full width, the first 8 pixels of height. Then |
20 | follows the next 8 pixels of height left-to-right. | 26 | follows the next 8 pixels of height left-to-right. |
21 | 27 | ||
22 | We don't currently support fonts larger than 16 pixels. | 28 | We don't currently support fonts larger than 16 pixels. (This font |
29 | file format would have no problem with bigger sizes, but the internal | ||
30 | bitmap function has.) | ||
31 | |||
32 | References | ||
33 | |||
34 | The BDF file format | ||
35 | http://partners.adobe.com/asn/developer/pdfs/tn/5005.BDF_Spec.pdf \ No newline at end of file | ||
diff --git a/firmware/X5x8.bdf b/firmware/X5x8.bdf new file mode 100644 index 0000000000..adb452a3ee --- /dev/null +++ b/firmware/X5x8.bdf | |||
@@ -0,0 +1,1967 @@ | |||
1 | STARTFONT 2.1 | ||
2 | COMMENT $Xorg: 5x8.bdf,v 1.3 2000/08/18 15:17:39 xorgcvs Exp $ | ||
3 | COMMENT Copyright 1989 Cognition Corp. | ||
4 | COMMENT | ||
5 | COMMENT Permission to use, copy, modify, and distribute this software and its | ||
6 | COMMENT documentation for any purpose and without fee is hereby granted, | ||
7 | COMMENT provided that the above copyright notice appear in all copies and that | ||
8 | COMMENT both that copyright notice and this permission notice appear in | ||
9 | COMMENT supporting documentation, and that the name of Cognition Corp. not be | ||
10 | COMMENT used in advertising or publicity pertaining to distribution of the | ||
11 | COMMENT software without specific, written prior permission. Cognition Corp. | ||
12 | COMMENT makes no representations about the suitability of this software for any | ||
13 | COMMENT purpose. It is provided "as is" without express or implied warranty. | ||
14 | COMMENT | ||
15 | COMMENT COGNITION CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | ||
16 | COMMENT INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | ||
17 | COMMENT EVENT SHALL COGNITION CORP. BE LIABLE FOR ANY SPECIAL, INDIRECT OR | ||
18 | COMMENT CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF | ||
19 | COMMENT USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR | ||
20 | COMMENT OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | ||
21 | COMMENT PERFORMANCE OF THIS SOFTWARE. | ||
22 | FONT -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO646.1991-IRV | ||
23 | SIZE 11 75 75 | ||
24 | FONTBOUNDINGBOX 5 8 0 0 | ||
25 | STARTPROPERTIES 19 | ||
26 | FONTNAME_REGISTRY "" | ||
27 | FOUNDRY "Misc" | ||
28 | FAMILY_NAME "Fixed" | ||
29 | WEIGHT_NAME "Medium" | ||
30 | SLANT "R" | ||
31 | SETWIDTH_NAME "Normal" | ||
32 | ADD_STYLE_NAME "" | ||
33 | PIXEL_SIZE 8 | ||
34 | POINT_SIZE 80 | ||
35 | RESOLUTION_X 75 | ||
36 | RESOLUTION_Y 75 | ||
37 | SPACING "C" | ||
38 | AVERAGE_WIDTH 50 | ||
39 | CHARSET_REGISTRY "ISO646.1991" | ||
40 | CHARSET_ENCODING "IRV" | ||
41 | FONT_DESCENT 1 | ||
42 | FONT_ASCENT 7 | ||
43 | COPYRIGHT "Copyright 1989 by Cognition Corp." | ||
44 | DEFAULT_CHAR 0 | ||
45 | ENDPROPERTIES | ||
46 | CHARS 128 | ||
47 | STARTCHAR C000 | ||
48 | ENCODING 0 | ||
49 | SWIDTH 1 0 | ||
50 | DWIDTH 5 0 | ||
51 | BBX 5 8 0 -1 | ||
52 | BITMAP | ||
53 | 00 | ||
54 | 00 | ||
55 | 00 | ||
56 | 00 | ||
57 | 00 | ||
58 | 00 | ||
59 | 00 | ||
60 | 00 | ||
61 | ENDCHAR | ||
62 | STARTCHAR C001 | ||
63 | ENCODING 1 | ||
64 | SWIDTH 1 0 | ||
65 | DWIDTH 5 0 | ||
66 | BBX 5 8 0 -1 | ||
67 | BITMAP | ||
68 | 00 | ||
69 | 20 | ||
70 | 70 | ||
71 | f8 | ||
72 | 70 | ||
73 | 20 | ||
74 | 00 | ||
75 | 00 | ||
76 | ENDCHAR | ||
77 | STARTCHAR C002 | ||
78 | ENCODING 2 | ||
79 | SWIDTH 1 0 | ||
80 | DWIDTH 5 0 | ||
81 | BBX 5 8 0 -1 | ||
82 | BITMAP | ||
83 | 00 | ||
84 | 28 | ||
85 | 50 | ||
86 | 28 | ||
87 | 50 | ||
88 | 28 | ||
89 | 50 | ||
90 | 28 | ||
91 | ENDCHAR | ||
92 | STARTCHAR C003 | ||
93 | ENCODING 3 | ||
94 | SWIDTH 1 0 | ||
95 | DWIDTH 5 0 | ||
96 | BBX 5 8 0 -1 | ||
97 | BITMAP | ||
98 | 50 | ||
99 | 50 | ||
100 | 70 | ||
101 | 50 | ||
102 | 50 | ||
103 | 38 | ||
104 | 10 | ||
105 | 10 | ||
106 | ENDCHAR | ||
107 | STARTCHAR C004 | ||
108 | ENCODING 4 | ||
109 | SWIDTH 1 0 | ||
110 | DWIDTH 5 0 | ||
111 | BBX 5 8 0 -1 | ||
112 | BITMAP | ||
113 | e0 | ||
114 | 80 | ||
115 | c0 | ||
116 | b8 | ||
117 | a0 | ||
118 | 30 | ||
119 | 20 | ||
120 | 20 | ||
121 | ENDCHAR | ||
122 | STARTCHAR C005 | ||
123 | ENCODING 5 | ||
124 | SWIDTH 1 0 | ||
125 | DWIDTH 5 0 | ||
126 | BBX 5 8 0 -1 | ||
127 | BITMAP | ||
128 | 60 | ||
129 | 80 | ||
130 | 60 | ||
131 | 00 | ||
132 | 30 | ||
133 | 28 | ||
134 | 30 | ||
135 | 28 | ||
136 | ENDCHAR | ||
137 | STARTCHAR C006 | ||
138 | ENCODING 6 | ||
139 | SWIDTH 1 0 | ||
140 | DWIDTH 5 0 | ||
141 | BBX 5 8 0 -1 | ||
142 | BITMAP | ||
143 | 80 | ||
144 | 80 | ||
145 | 80 | ||
146 | e0 | ||
147 | 38 | ||
148 | 20 | ||
149 | 30 | ||
150 | 20 | ||
151 | ENDCHAR | ||
152 | STARTCHAR C007 | ||
153 | ENCODING 7 | ||
154 | SWIDTH 1 0 | ||
155 | DWIDTH 5 0 | ||
156 | BBX 5 8 0 -1 | ||
157 | BITMAP | ||
158 | 00 | ||
159 | 20 | ||
160 | 50 | ||
161 | 20 | ||
162 | 00 | ||
163 | 00 | ||
164 | 00 | ||
165 | 00 | ||
166 | ENDCHAR | ||
167 | STARTCHAR C010 | ||
168 | ENCODING 8 | ||
169 | SWIDTH 1 0 | ||
170 | DWIDTH 5 0 | ||
171 | BBX 5 8 0 -1 | ||
172 | BITMAP | ||
173 | 00 | ||
174 | 20 | ||
175 | 70 | ||
176 | 20 | ||
177 | 00 | ||
178 | 70 | ||
179 | 00 | ||
180 | 00 | ||
181 | ENDCHAR | ||
182 | STARTCHAR C011 | ||
183 | ENCODING 9 | ||
184 | SWIDTH 1 0 | ||
185 | DWIDTH 5 0 | ||
186 | BBX 5 8 0 -1 | ||
187 | BITMAP | ||
188 | 90 | ||
189 | d0 | ||
190 | b0 | ||
191 | 90 | ||
192 | 20 | ||
193 | 20 | ||
194 | 20 | ||
195 | 38 | ||
196 | ENDCHAR | ||
197 | STARTCHAR C012 | ||
198 | ENCODING 10 | ||
199 | SWIDTH 1 0 | ||
200 | DWIDTH 5 0 | ||
201 | BBX 5 8 0 -1 | ||
202 | BITMAP | ||
203 | a0 | ||
204 | a0 | ||
205 | a0 | ||
206 | 40 | ||
207 | 38 | ||
208 | 10 | ||
209 | 10 | ||
210 | 10 | ||
211 | ENDCHAR | ||
212 | STARTCHAR C013 | ||
213 | ENCODING 11 | ||
214 | SWIDTH 1 0 | ||
215 | DWIDTH 5 0 | ||
216 | BBX 5 8 0 -1 | ||
217 | BITMAP | ||
218 | 20 | ||
219 | 20 | ||
220 | 20 | ||
221 | e0 | ||
222 | 00 | ||
223 | 00 | ||
224 | 00 | ||
225 | 00 | ||
226 | ENDCHAR | ||
227 | STARTCHAR C014 | ||
228 | ENCODING 12 | ||
229 | SWIDTH 1 0 | ||
230 | DWIDTH 5 0 | ||
231 | BBX 5 8 0 -1 | ||
232 | BITMAP | ||
233 | 00 | ||
234 | 00 | ||
235 | 00 | ||
236 | e0 | ||
237 | 20 | ||
238 | 20 | ||
239 | 20 | ||
240 | 20 | ||
241 | ENDCHAR | ||
242 | STARTCHAR C015 | ||
243 | ENCODING 13 | ||
244 | SWIDTH 1 0 | ||
245 | DWIDTH 5 0 | ||
246 | BBX 5 8 0 -1 | ||
247 | BITMAP | ||
248 | 00 | ||
249 | 00 | ||
250 | 00 | ||
251 | 38 | ||
252 | 20 | ||
253 | 20 | ||
254 | 20 | ||
255 | 20 | ||
256 | ENDCHAR | ||
257 | STARTCHAR C016 | ||
258 | ENCODING 14 | ||
259 | SWIDTH 1 0 | ||
260 | DWIDTH 5 0 | ||
261 | BBX 5 8 0 -1 | ||
262 | BITMAP | ||
263 | 20 | ||
264 | 20 | ||
265 | 20 | ||
266 | 38 | ||
267 | 00 | ||
268 | 00 | ||
269 | 00 | ||
270 | 00 | ||
271 | ENDCHAR | ||
272 | STARTCHAR C017 | ||
273 | ENCODING 15 | ||
274 | SWIDTH 1 0 | ||
275 | DWIDTH 5 0 | ||
276 | BBX 5 8 0 -1 | ||
277 | BITMAP | ||
278 | 20 | ||
279 | 20 | ||
280 | 20 | ||
281 | f8 | ||
282 | 20 | ||
283 | 20 | ||
284 | 20 | ||
285 | 20 | ||
286 | ENDCHAR | ||
287 | STARTCHAR C020 | ||
288 | ENCODING 16 | ||
289 | SWIDTH 1 0 | ||
290 | DWIDTH 5 0 | ||
291 | BBX 5 8 0 -1 | ||
292 | BITMAP | ||
293 | 00 | ||
294 | f8 | ||
295 | 00 | ||
296 | 00 | ||
297 | 00 | ||
298 | 00 | ||
299 | 00 | ||
300 | 00 | ||
301 | ENDCHAR | ||
302 | STARTCHAR C021 | ||
303 | ENCODING 17 | ||
304 | SWIDTH 1 0 | ||
305 | DWIDTH 5 0 | ||
306 | BBX 5 8 0 -1 | ||
307 | BITMAP | ||
308 | 00 | ||
309 | 00 | ||
310 | f8 | ||
311 | 00 | ||
312 | 00 | ||
313 | 00 | ||
314 | 00 | ||
315 | 00 | ||
316 | ENDCHAR | ||
317 | STARTCHAR C022 | ||
318 | ENCODING 18 | ||
319 | SWIDTH 1 0 | ||
320 | DWIDTH 5 0 | ||
321 | BBX 5 8 0 -1 | ||
322 | BITMAP | ||
323 | 00 | ||
324 | 00 | ||
325 | 00 | ||
326 | f8 | ||
327 | 00 | ||
328 | 00 | ||
329 | 00 | ||
330 | 00 | ||
331 | ENDCHAR | ||
332 | STARTCHAR C023 | ||
333 | ENCODING 19 | ||
334 | SWIDTH 1 0 | ||
335 | DWIDTH 5 0 | ||
336 | BBX 5 8 0 -1 | ||
337 | BITMAP | ||
338 | 00 | ||
339 | 00 | ||
340 | 00 | ||
341 | 00 | ||
342 | f8 | ||
343 | 00 | ||
344 | 00 | ||
345 | 00 | ||
346 | ENDCHAR | ||
347 | STARTCHAR C024 | ||
348 | ENCODING 20 | ||
349 | SWIDTH 1 0 | ||
350 | DWIDTH 5 0 | ||
351 | BBX 5 8 0 -1 | ||
352 | BITMAP | ||
353 | 00 | ||
354 | 00 | ||
355 | 00 | ||
356 | 00 | ||
357 | 00 | ||
358 | f8 | ||
359 | 00 | ||
360 | 00 | ||
361 | ENDCHAR | ||
362 | STARTCHAR C025 | ||
363 | ENCODING 21 | ||
364 | SWIDTH 1 0 | ||
365 | DWIDTH 5 0 | ||
366 | BBX 5 8 0 -1 | ||
367 | BITMAP | ||
368 | 20 | ||
369 | 20 | ||
370 | 20 | ||
371 | 38 | ||
372 | 20 | ||
373 | 20 | ||
374 | 20 | ||
375 | 20 | ||
376 | ENDCHAR | ||
377 | STARTCHAR C026 | ||
378 | ENCODING 22 | ||
379 | SWIDTH 1 0 | ||
380 | DWIDTH 5 0 | ||
381 | BBX 5 8 0 -1 | ||
382 | BITMAP | ||
383 | 20 | ||
384 | 20 | ||
385 | 20 | ||
386 | e0 | ||
387 | 20 | ||
388 | 20 | ||
389 | 20 | ||
390 | 20 | ||
391 | ENDCHAR | ||
392 | STARTCHAR C027 | ||
393 | ENCODING 23 | ||
394 | SWIDTH 1 0 | ||
395 | DWIDTH 5 0 | ||
396 | BBX 5 8 0 -1 | ||
397 | BITMAP | ||
398 | 20 | ||
399 | 20 | ||
400 | 20 | ||
401 | f8 | ||
402 | 00 | ||
403 | 00 | ||
404 | 00 | ||
405 | 00 | ||
406 | ENDCHAR | ||
407 | STARTCHAR C030 | ||
408 | ENCODING 24 | ||
409 | SWIDTH 1 0 | ||
410 | DWIDTH 5 0 | ||
411 | BBX 5 8 0 -1 | ||
412 | BITMAP | ||
413 | 00 | ||
414 | 00 | ||
415 | 00 | ||
416 | f8 | ||
417 | 20 | ||
418 | 20 | ||
419 | 20 | ||
420 | 20 | ||
421 | ENDCHAR | ||
422 | STARTCHAR C031 | ||
423 | ENCODING 25 | ||
424 | SWIDTH 1 0 | ||
425 | DWIDTH 5 0 | ||
426 | BBX 5 8 0 -1 | ||
427 | BITMAP | ||
428 | 20 | ||
429 | 20 | ||
430 | 20 | ||
431 | 20 | ||
432 | 20 | ||
433 | 20 | ||
434 | 20 | ||
435 | 20 | ||
436 | ENDCHAR | ||
437 | STARTCHAR C032 | ||
438 | ENCODING 26 | ||
439 | SWIDTH 1 0 | ||
440 | DWIDTH 5 0 | ||
441 | BBX 5 8 0 -1 | ||
442 | BITMAP | ||
443 | 00 | ||
444 | 10 | ||
445 | 20 | ||
446 | 40 | ||
447 | 20 | ||
448 | 10 | ||
449 | 70 | ||
450 | 00 | ||
451 | ENDCHAR | ||
452 | STARTCHAR C033 | ||
453 | ENCODING 27 | ||
454 | SWIDTH 1 0 | ||
455 | DWIDTH 5 0 | ||
456 | BBX 5 8 0 -1 | ||
457 | BITMAP | ||
458 | 00 | ||
459 | 40 | ||
460 | 20 | ||
461 | 10 | ||
462 | 20 | ||
463 | 40 | ||
464 | 70 | ||
465 | 00 | ||
466 | ENDCHAR | ||
467 | STARTCHAR C034 | ||
468 | ENCODING 28 | ||
469 | SWIDTH 1 0 | ||
470 | DWIDTH 5 0 | ||
471 | BBX 5 8 0 -1 | ||
472 | BITMAP | ||
473 | 00 | ||
474 | f8 | ||
475 | 50 | ||
476 | 50 | ||
477 | 50 | ||
478 | 50 | ||
479 | 00 | ||
480 | 00 | ||
481 | ENDCHAR | ||
482 | STARTCHAR C035 | ||
483 | ENCODING 29 | ||
484 | SWIDTH 1 0 | ||
485 | DWIDTH 5 0 | ||
486 | BBX 5 8 0 -1 | ||
487 | BITMAP | ||
488 | 00 | ||
489 | 10 | ||
490 | f8 | ||
491 | 20 | ||
492 | f8 | ||
493 | 40 | ||
494 | 00 | ||
495 | 00 | ||
496 | ENDCHAR | ||
497 | STARTCHAR C036 | ||
498 | ENCODING 30 | ||
499 | SWIDTH 1 0 | ||
500 | DWIDTH 5 0 | ||
501 | BBX 5 8 0 -1 | ||
502 | BITMAP | ||
503 | 00 | ||
504 | 30 | ||
505 | 48 | ||
506 | e0 | ||
507 | 40 | ||
508 | 48 | ||
509 | b0 | ||
510 | 00 | ||
511 | ENDCHAR | ||
512 | STARTCHAR C037 | ||
513 | ENCODING 31 | ||
514 | SWIDTH 1 0 | ||
515 | DWIDTH 5 0 | ||
516 | BBX 5 8 0 -1 | ||
517 | BITMAP | ||
518 | 00 | ||
519 | 00 | ||
520 | 00 | ||
521 | 20 | ||
522 | 00 | ||
523 | 00 | ||
524 | 00 | ||
525 | 00 | ||
526 | ENDCHAR | ||
527 | STARTCHAR C040 | ||
528 | ENCODING 32 | ||
529 | SWIDTH 1 0 | ||
530 | DWIDTH 5 0 | ||
531 | BBX 5 8 0 -1 | ||
532 | BITMAP | ||
533 | 00 | ||
534 | 00 | ||
535 | 00 | ||
536 | 00 | ||
537 | 00 | ||
538 | 00 | ||
539 | 00 | ||
540 | 00 | ||
541 | ENDCHAR | ||
542 | STARTCHAR ! | ||
543 | ENCODING 33 | ||
544 | SWIDTH 1 0 | ||
545 | DWIDTH 5 0 | ||
546 | BBX 5 8 0 -1 | ||
547 | BITMAP | ||
548 | 00 | ||
549 | 20 | ||
550 | 20 | ||
551 | 20 | ||
552 | 20 | ||
553 | 00 | ||
554 | 20 | ||
555 | 00 | ||
556 | ENDCHAR | ||
557 | STARTCHAR " | ||
558 | ENCODING 34 | ||
559 | SWIDTH 1 0 | ||
560 | DWIDTH 5 0 | ||
561 | BBX 5 8 0 -1 | ||
562 | BITMAP | ||
563 | 00 | ||
564 | 50 | ||
565 | 50 | ||
566 | 50 | ||
567 | 00 | ||
568 | 00 | ||
569 | 00 | ||
570 | 00 | ||
571 | ENDCHAR | ||
572 | STARTCHAR # | ||
573 | ENCODING 35 | ||
574 | SWIDTH 1 0 | ||
575 | DWIDTH 5 0 | ||
576 | BBX 5 8 0 -1 | ||
577 | BITMAP | ||
578 | 50 | ||
579 | 50 | ||
580 | f8 | ||
581 | 50 | ||
582 | f8 | ||
583 | 50 | ||
584 | 50 | ||
585 | 00 | ||
586 | ENDCHAR | ||
587 | STARTCHAR $ | ||
588 | ENCODING 36 | ||
589 | SWIDTH 1 0 | ||
590 | DWIDTH 5 0 | ||
591 | BBX 5 8 0 -1 | ||
592 | BITMAP | ||
593 | 20 | ||
594 | 70 | ||
595 | a0 | ||
596 | 70 | ||
597 | 28 | ||
598 | 70 | ||
599 | 20 | ||
600 | 00 | ||
601 | ENDCHAR | ||
602 | STARTCHAR % | ||
603 | ENCODING 37 | ||
604 | SWIDTH 1 0 | ||
605 | DWIDTH 5 0 | ||
606 | BBX 5 8 0 -1 | ||
607 | BITMAP | ||
608 | 00 | ||
609 | 40 | ||
610 | 50 | ||
611 | 20 | ||
612 | 50 | ||
613 | 10 | ||
614 | 00 | ||
615 | 00 | ||
616 | ENDCHAR | ||
617 | STARTCHAR & | ||
618 | ENCODING 38 | ||
619 | SWIDTH 1 0 | ||
620 | DWIDTH 5 0 | ||
621 | BBX 5 8 0 -1 | ||
622 | BITMAP | ||
623 | 20 | ||
624 | 50 | ||
625 | 50 | ||
626 | 20 | ||
627 | 50 | ||
628 | 50 | ||
629 | 28 | ||
630 | 00 | ||
631 | ENDCHAR | ||
632 | STARTCHAR ' | ||
633 | ENCODING 39 | ||
634 | SWIDTH 1 0 | ||
635 | DWIDTH 5 0 | ||
636 | BBX 5 8 0 -1 | ||
637 | BITMAP | ||
638 | 00 | ||
639 | 30 | ||
640 | 20 | ||
641 | 40 | ||
642 | 00 | ||
643 | 00 | ||
644 | 00 | ||
645 | 00 | ||
646 | ENDCHAR | ||
647 | STARTCHAR ( | ||
648 | ENCODING 40 | ||
649 | SWIDTH 1 0 | ||
650 | DWIDTH 5 0 | ||
651 | BBX 5 8 0 -1 | ||
652 | BITMAP | ||
653 | 00 | ||
654 | 10 | ||
655 | 20 | ||
656 | 20 | ||
657 | 20 | ||
658 | 10 | ||
659 | 00 | ||
660 | 00 | ||
661 | ENDCHAR | ||
662 | STARTCHAR ) | ||
663 | ENCODING 41 | ||
664 | SWIDTH 1 0 | ||
665 | DWIDTH 5 0 | ||
666 | BBX 5 8 0 -1 | ||
667 | BITMAP | ||
668 | 00 | ||
669 | 40 | ||
670 | 20 | ||
671 | 20 | ||
672 | 20 | ||
673 | 40 | ||
674 | 00 | ||
675 | 00 | ||
676 | ENDCHAR | ||
677 | STARTCHAR * | ||
678 | ENCODING 42 | ||
679 | SWIDTH 1 0 | ||
680 | DWIDTH 5 0 | ||
681 | BBX 5 8 0 -1 | ||
682 | BITMAP | ||
683 | 00 | ||
684 | 48 | ||
685 | 30 | ||
686 | 78 | ||
687 | 30 | ||
688 | 48 | ||
689 | 00 | ||
690 | 00 | ||
691 | ENDCHAR | ||
692 | STARTCHAR + | ||
693 | ENCODING 43 | ||
694 | SWIDTH 1 0 | ||
695 | DWIDTH 5 0 | ||
696 | BBX 5 8 0 -1 | ||
697 | BITMAP | ||
698 | 00 | ||
699 | 20 | ||
700 | 20 | ||
701 | f8 | ||
702 | 20 | ||
703 | 20 | ||
704 | 00 | ||
705 | 00 | ||
706 | ENDCHAR | ||
707 | STARTCHAR , | ||
708 | ENCODING 44 | ||
709 | SWIDTH 1 0 | ||
710 | DWIDTH 5 0 | ||
711 | BBX 5 8 0 -1 | ||
712 | BITMAP | ||
713 | 00 | ||
714 | 00 | ||
715 | 00 | ||
716 | 00 | ||
717 | 30 | ||
718 | 20 | ||
719 | 40 | ||
720 | 00 | ||
721 | ENDCHAR | ||
722 | STARTCHAR - | ||
723 | ENCODING 45 | ||
724 | SWIDTH 1 0 | ||
725 | DWIDTH 5 0 | ||
726 | BBX 5 8 0 -1 | ||
727 | BITMAP | ||
728 | 00 | ||
729 | 00 | ||
730 | 00 | ||
731 | 00 | ||
732 | 78 | ||
733 | 00 | ||
734 | 00 | ||
735 | 00 | ||
736 | ENDCHAR | ||
737 | STARTCHAR . | ||
738 | ENCODING 46 | ||
739 | SWIDTH 1 0 | ||
740 | DWIDTH 5 0 | ||
741 | BBX 5 8 0 -1 | ||
742 | BITMAP | ||
743 | 00 | ||
744 | 00 | ||
745 | 00 | ||
746 | 00 | ||
747 | 20 | ||
748 | 70 | ||
749 | 20 | ||
750 | 00 | ||
751 | ENDCHAR | ||
752 | STARTCHAR / | ||
753 | ENCODING 47 | ||
754 | SWIDTH 1 0 | ||
755 | DWIDTH 5 0 | ||
756 | BBX 5 8 0 -1 | ||
757 | BITMAP | ||
758 | 00 | ||
759 | 08 | ||
760 | 08 | ||
761 | 10 | ||
762 | 20 | ||
763 | 40 | ||
764 | 40 | ||
765 | 00 | ||
766 | ENDCHAR | ||
767 | STARTCHAR 0 | ||
768 | ENCODING 48 | ||
769 | SWIDTH 1 0 | ||
770 | DWIDTH 5 0 | ||
771 | BBX 5 8 0 -1 | ||
772 | BITMAP | ||
773 | 00 | ||
774 | 20 | ||
775 | 50 | ||
776 | 50 | ||
777 | 50 | ||
778 | 50 | ||
779 | 20 | ||
780 | 00 | ||
781 | ENDCHAR | ||
782 | STARTCHAR 1 | ||
783 | ENCODING 49 | ||
784 | SWIDTH 1 0 | ||
785 | DWIDTH 5 0 | ||
786 | BBX 5 8 0 -1 | ||
787 | BITMAP | ||
788 | 00 | ||
789 | 20 | ||
790 | 60 | ||
791 | 20 | ||
792 | 20 | ||
793 | 20 | ||
794 | 70 | ||
795 | 00 | ||
796 | ENDCHAR | ||
797 | STARTCHAR 2 | ||
798 | ENCODING 50 | ||
799 | SWIDTH 1 0 | ||
800 | DWIDTH 5 0 | ||
801 | BBX 5 8 0 -1 | ||
802 | BITMAP | ||
803 | 00 | ||
804 | 30 | ||
805 | 48 | ||
806 | 08 | ||
807 | 30 | ||
808 | 40 | ||
809 | 78 | ||
810 | 00 | ||
811 | ENDCHAR | ||
812 | STARTCHAR 3 | ||
813 | ENCODING 51 | ||
814 | SWIDTH 1 0 | ||
815 | DWIDTH 5 0 | ||
816 | BBX 5 8 0 -1 | ||
817 | BITMAP | ||
818 | 00 | ||
819 | 30 | ||
820 | 48 | ||
821 | 10 | ||
822 | 08 | ||
823 | 48 | ||
824 | 30 | ||
825 | 00 | ||
826 | ENDCHAR | ||
827 | STARTCHAR 4 | ||
828 | ENCODING 52 | ||
829 | SWIDTH 1 0 | ||
830 | DWIDTH 5 0 | ||
831 | BBX 5 8 0 -1 | ||
832 | BITMAP | ||
833 | 00 | ||
834 | 10 | ||
835 | 30 | ||
836 | 50 | ||
837 | 78 | ||
838 | 10 | ||
839 | 10 | ||
840 | 00 | ||
841 | ENDCHAR | ||
842 | STARTCHAR 5 | ||
843 | ENCODING 53 | ||
844 | SWIDTH 1 0 | ||
845 | DWIDTH 5 0 | ||
846 | BBX 5 8 0 -1 | ||
847 | BITMAP | ||
848 | 00 | ||
849 | 78 | ||
850 | 40 | ||
851 | 70 | ||
852 | 08 | ||
853 | 48 | ||
854 | 30 | ||
855 | 00 | ||
856 | ENDCHAR | ||
857 | STARTCHAR 6 | ||
858 | ENCODING 54 | ||
859 | SWIDTH 1 0 | ||
860 | DWIDTH 5 0 | ||
861 | BBX 5 8 0 -1 | ||
862 | BITMAP | ||
863 | 00 | ||
864 | 30 | ||
865 | 40 | ||
866 | 50 | ||
867 | 68 | ||
868 | 48 | ||
869 | 30 | ||
870 | 00 | ||
871 | ENDCHAR | ||
872 | STARTCHAR 7 | ||
873 | ENCODING 55 | ||
874 | SWIDTH 1 0 | ||
875 | DWIDTH 5 0 | ||
876 | BBX 5 8 0 -1 | ||
877 | BITMAP | ||
878 | 00 | ||
879 | 78 | ||
880 | 08 | ||
881 | 10 | ||
882 | 10 | ||
883 | 20 | ||
884 | 20 | ||
885 | 00 | ||
886 | ENDCHAR | ||
887 | STARTCHAR 8 | ||
888 | ENCODING 56 | ||
889 | SWIDTH 1 0 | ||
890 | DWIDTH 5 0 | ||
891 | BBX 5 8 0 -1 | ||
892 | BITMAP | ||
893 | 00 | ||
894 | 30 | ||
895 | 48 | ||
896 | 30 | ||
897 | 48 | ||
898 | 48 | ||
899 | 30 | ||
900 | 00 | ||
901 | ENDCHAR | ||
902 | STARTCHAR 9 | ||
903 | ENCODING 57 | ||
904 | SWIDTH 1 0 | ||
905 | DWIDTH 5 0 | ||
906 | BBX 5 8 0 -1 | ||
907 | BITMAP | ||
908 | 00 | ||
909 | 30 | ||
910 | 48 | ||
911 | 58 | ||
912 | 28 | ||
913 | 08 | ||
914 | 30 | ||
915 | 00 | ||
916 | ENDCHAR | ||
917 | STARTCHAR : | ||
918 | ENCODING 58 | ||
919 | SWIDTH 1 0 | ||
920 | DWIDTH 5 0 | ||
921 | BBX 5 8 0 -1 | ||
922 | BITMAP | ||
923 | 00 | ||
924 | 30 | ||
925 | 30 | ||
926 | 00 | ||
927 | 30 | ||
928 | 30 | ||
929 | 00 | ||
930 | 00 | ||
931 | ENDCHAR | ||
932 | STARTCHAR ; | ||
933 | ENCODING 59 | ||
934 | SWIDTH 1 0 | ||
935 | DWIDTH 5 0 | ||
936 | BBX 5 8 0 -1 | ||
937 | BITMAP | ||
938 | 00 | ||
939 | 30 | ||
940 | 30 | ||
941 | 00 | ||
942 | 30 | ||
943 | 20 | ||
944 | 40 | ||
945 | 00 | ||
946 | ENDCHAR | ||
947 | STARTCHAR < | ||
948 | ENCODING 60 | ||
949 | SWIDTH 1 0 | ||
950 | DWIDTH 5 0 | ||
951 | BBX 5 8 0 -1 | ||
952 | BITMAP | ||
953 | 00 | ||
954 | 10 | ||
955 | 20 | ||
956 | 40 | ||
957 | 40 | ||
958 | 20 | ||
959 | 10 | ||
960 | 00 | ||
961 | ENDCHAR | ||
962 | STARTCHAR = | ||
963 | ENCODING 61 | ||
964 | SWIDTH 1 0 | ||
965 | DWIDTH 5 0 | ||
966 | BBX 5 8 0 -1 | ||
967 | BITMAP | ||
968 | 00 | ||
969 | 00 | ||
970 | 70 | ||
971 | 00 | ||
972 | 70 | ||
973 | 00 | ||
974 | 00 | ||
975 | 00 | ||
976 | ENDCHAR | ||
977 | STARTCHAR > | ||
978 | ENCODING 62 | ||
979 | SWIDTH 1 0 | ||
980 | DWIDTH 5 0 | ||
981 | BBX 5 8 0 -1 | ||
982 | BITMAP | ||
983 | 00 | ||
984 | 40 | ||
985 | 20 | ||
986 | 10 | ||
987 | 10 | ||
988 | 20 | ||
989 | 40 | ||
990 | 00 | ||
991 | ENDCHAR | ||
992 | STARTCHAR ? | ||
993 | ENCODING 63 | ||
994 | SWIDTH 1 0 | ||
995 | DWIDTH 5 0 | ||
996 | BBX 5 8 0 -1 | ||
997 | BITMAP | ||
998 | 00 | ||
999 | 20 | ||
1000 | 50 | ||
1001 | 10 | ||
1002 | 20 | ||
1003 | 00 | ||
1004 | 20 | ||
1005 | 00 | ||
1006 | ENDCHAR | ||
1007 | STARTCHAR @ | ||
1008 | ENCODING 64 | ||
1009 | SWIDTH 1 0 | ||
1010 | DWIDTH 5 0 | ||
1011 | BBX 5 8 0 -1 | ||
1012 | BITMAP | ||
1013 | 30 | ||
1014 | 48 | ||
1015 | 98 | ||
1016 | a8 | ||
1017 | a8 | ||
1018 | 90 | ||
1019 | 40 | ||
1020 | 30 | ||
1021 | ENDCHAR | ||
1022 | STARTCHAR A | ||
1023 | ENCODING 65 | ||
1024 | SWIDTH 1 0 | ||
1025 | DWIDTH 5 0 | ||
1026 | BBX 5 8 0 -1 | ||
1027 | BITMAP | ||
1028 | 00 | ||
1029 | 30 | ||
1030 | 48 | ||
1031 | 48 | ||
1032 | 78 | ||
1033 | 48 | ||
1034 | 48 | ||
1035 | 00 | ||
1036 | ENDCHAR | ||
1037 | STARTCHAR B | ||
1038 | ENCODING 66 | ||
1039 | SWIDTH 1 0 | ||
1040 | DWIDTH 5 0 | ||
1041 | BBX 5 8 0 -1 | ||
1042 | BITMAP | ||
1043 | 00 | ||
1044 | 70 | ||
1045 | 48 | ||
1046 | 70 | ||
1047 | 48 | ||
1048 | 48 | ||
1049 | 70 | ||
1050 | 00 | ||
1051 | ENDCHAR | ||
1052 | STARTCHAR C | ||
1053 | ENCODING 67 | ||
1054 | SWIDTH 1 0 | ||
1055 | DWIDTH 5 0 | ||
1056 | BBX 5 8 0 -1 | ||
1057 | BITMAP | ||
1058 | 00 | ||
1059 | 30 | ||
1060 | 48 | ||
1061 | 40 | ||
1062 | 40 | ||
1063 | 48 | ||
1064 | 30 | ||
1065 | 00 | ||
1066 | ENDCHAR | ||
1067 | STARTCHAR D | ||
1068 | ENCODING 68 | ||
1069 | SWIDTH 1 0 | ||
1070 | DWIDTH 5 0 | ||
1071 | BBX 5 8 0 -1 | ||
1072 | BITMAP | ||
1073 | 00 | ||
1074 | 70 | ||
1075 | 48 | ||
1076 | 48 | ||
1077 | 48 | ||
1078 | 48 | ||
1079 | 70 | ||
1080 | 00 | ||
1081 | ENDCHAR | ||
1082 | STARTCHAR E | ||
1083 | ENCODING 69 | ||
1084 | SWIDTH 1 0 | ||
1085 | DWIDTH 5 0 | ||
1086 | BBX 5 8 0 -1 | ||
1087 | BITMAP | ||
1088 | 00 | ||
1089 | 78 | ||
1090 | 40 | ||
1091 | 70 | ||
1092 | 40 | ||
1093 | 40 | ||
1094 | 78 | ||
1095 | 00 | ||
1096 | ENDCHAR | ||
1097 | STARTCHAR F | ||
1098 | ENCODING 70 | ||
1099 | SWIDTH 1 0 | ||
1100 | DWIDTH 5 0 | ||
1101 | BBX 5 8 0 -1 | ||
1102 | BITMAP | ||
1103 | 00 | ||
1104 | 78 | ||
1105 | 40 | ||
1106 | 70 | ||
1107 | 40 | ||
1108 | 40 | ||
1109 | 40 | ||
1110 | 00 | ||
1111 | ENDCHAR | ||
1112 | STARTCHAR G | ||
1113 | ENCODING 71 | ||
1114 | SWIDTH 1 0 | ||
1115 | DWIDTH 5 0 | ||
1116 | BBX 5 8 0 -1 | ||
1117 | BITMAP | ||
1118 | 00 | ||
1119 | 30 | ||
1120 | 48 | ||
1121 | 40 | ||
1122 | 58 | ||
1123 | 48 | ||
1124 | 30 | ||
1125 | 00 | ||
1126 | ENDCHAR | ||
1127 | STARTCHAR H | ||
1128 | ENCODING 72 | ||
1129 | SWIDTH 1 0 | ||
1130 | DWIDTH 5 0 | ||
1131 | BBX 5 8 0 -1 | ||
1132 | BITMAP | ||
1133 | 00 | ||
1134 | 48 | ||
1135 | 48 | ||
1136 | 78 | ||
1137 | 48 | ||
1138 | 48 | ||
1139 | 48 | ||
1140 | 00 | ||
1141 | ENDCHAR | ||
1142 | STARTCHAR I | ||
1143 | ENCODING 73 | ||
1144 | SWIDTH 1 0 | ||
1145 | DWIDTH 5 0 | ||
1146 | BBX 5 8 0 -1 | ||
1147 | BITMAP | ||
1148 | 00 | ||
1149 | 70 | ||
1150 | 20 | ||
1151 | 20 | ||
1152 | 20 | ||
1153 | 20 | ||
1154 | 70 | ||
1155 | 00 | ||
1156 | ENDCHAR | ||
1157 | STARTCHAR J | ||
1158 | ENCODING 74 | ||
1159 | SWIDTH 1 0 | ||
1160 | DWIDTH 5 0 | ||
1161 | BBX 5 8 0 -1 | ||
1162 | BITMAP | ||
1163 | 00 | ||
1164 | 38 | ||
1165 | 08 | ||
1166 | 08 | ||
1167 | 08 | ||
1168 | 48 | ||
1169 | 30 | ||
1170 | 00 | ||
1171 | ENDCHAR | ||
1172 | STARTCHAR K | ||
1173 | ENCODING 75 | ||
1174 | SWIDTH 1 0 | ||
1175 | DWIDTH 5 0 | ||
1176 | BBX 5 8 0 -1 | ||
1177 | BITMAP | ||
1178 | 00 | ||
1179 | 48 | ||
1180 | 50 | ||
1181 | 60 | ||
1182 | 50 | ||
1183 | 50 | ||
1184 | 48 | ||
1185 | 00 | ||
1186 | ENDCHAR | ||
1187 | STARTCHAR L | ||
1188 | ENCODING 76 | ||
1189 | SWIDTH 1 0 | ||
1190 | DWIDTH 5 0 | ||
1191 | BBX 5 8 0 -1 | ||
1192 | BITMAP | ||
1193 | 00 | ||
1194 | 40 | ||
1195 | 40 | ||
1196 | 40 | ||
1197 | 40 | ||
1198 | 40 | ||
1199 | 70 | ||
1200 | 00 | ||
1201 | ENDCHAR | ||
1202 | STARTCHAR M | ||
1203 | ENCODING 77 | ||
1204 | SWIDTH 1 0 | ||
1205 | DWIDTH 5 0 | ||
1206 | BBX 5 8 0 -1 | ||
1207 | BITMAP | ||
1208 | 00 | ||
1209 | 48 | ||
1210 | 78 | ||
1211 | 78 | ||
1212 | 48 | ||
1213 | 48 | ||
1214 | 48 | ||
1215 | 00 | ||
1216 | ENDCHAR | ||
1217 | STARTCHAR N | ||
1218 | ENCODING 78 | ||
1219 | SWIDTH 1 0 | ||
1220 | DWIDTH 5 0 | ||
1221 | BBX 5 8 0 -1 | ||
1222 | BITMAP | ||
1223 | 00 | ||
1224 | 48 | ||
1225 | 68 | ||
1226 | 78 | ||
1227 | 58 | ||
1228 | 58 | ||
1229 | 48 | ||
1230 | 00 | ||
1231 | ENDCHAR | ||
1232 | STARTCHAR O | ||
1233 | ENCODING 79 | ||
1234 | SWIDTH 1 0 | ||
1235 | DWIDTH 5 0 | ||
1236 | BBX 5 8 0 -1 | ||
1237 | BITMAP | ||
1238 | 00 | ||
1239 | 30 | ||
1240 | 48 | ||
1241 | 48 | ||
1242 | 48 | ||
1243 | 48 | ||
1244 | 30 | ||
1245 | 00 | ||
1246 | ENDCHAR | ||
1247 | STARTCHAR P | ||
1248 | ENCODING 80 | ||
1249 | SWIDTH 1 0 | ||
1250 | DWIDTH 5 0 | ||
1251 | BBX 5 8 0 -1 | ||
1252 | BITMAP | ||
1253 | 00 | ||
1254 | 70 | ||
1255 | 48 | ||
1256 | 48 | ||
1257 | 70 | ||
1258 | 40 | ||
1259 | 40 | ||
1260 | 00 | ||
1261 | ENDCHAR | ||
1262 | STARTCHAR Q | ||
1263 | ENCODING 81 | ||
1264 | SWIDTH 1 0 | ||
1265 | DWIDTH 5 0 | ||
1266 | BBX 5 8 0 -1 | ||
1267 | BITMAP | ||
1268 | 00 | ||
1269 | 30 | ||
1270 | 48 | ||
1271 | 48 | ||
1272 | 68 | ||
1273 | 58 | ||
1274 | 30 | ||
1275 | 08 | ||
1276 | ENDCHAR | ||
1277 | STARTCHAR R | ||
1278 | ENCODING 82 | ||
1279 | SWIDTH 1 0 | ||
1280 | DWIDTH 5 0 | ||
1281 | BBX 5 8 0 -1 | ||
1282 | BITMAP | ||
1283 | 00 | ||
1284 | 70 | ||
1285 | 48 | ||
1286 | 48 | ||
1287 | 70 | ||
1288 | 58 | ||
1289 | 48 | ||
1290 | 00 | ||
1291 | ENDCHAR | ||
1292 | STARTCHAR S | ||
1293 | ENCODING 83 | ||
1294 | SWIDTH 1 0 | ||
1295 | DWIDTH 5 0 | ||
1296 | BBX 5 8 0 -1 | ||
1297 | BITMAP | ||
1298 | 00 | ||
1299 | 30 | ||
1300 | 48 | ||
1301 | 20 | ||
1302 | 10 | ||
1303 | 48 | ||
1304 | 30 | ||
1305 | 00 | ||
1306 | ENDCHAR | ||
1307 | STARTCHAR T | ||
1308 | ENCODING 84 | ||
1309 | SWIDTH 1 0 | ||
1310 | DWIDTH 5 0 | ||
1311 | BBX 5 8 0 -1 | ||
1312 | BITMAP | ||
1313 | 00 | ||
1314 | f8 | ||
1315 | 20 | ||
1316 | 20 | ||
1317 | 20 | ||
1318 | 20 | ||
1319 | 20 | ||
1320 | 00 | ||
1321 | ENDCHAR | ||
1322 | STARTCHAR U | ||
1323 | ENCODING 85 | ||
1324 | SWIDTH 1 0 | ||
1325 | DWIDTH 5 0 | ||
1326 | BBX 5 8 0 -1 | ||
1327 | BITMAP | ||
1328 | 00 | ||
1329 | 48 | ||
1330 | 48 | ||
1331 | 48 | ||
1332 | 48 | ||
1333 | 48 | ||
1334 | 30 | ||
1335 | 00 | ||
1336 | ENDCHAR | ||
1337 | STARTCHAR V | ||
1338 | ENCODING 86 | ||
1339 | SWIDTH 1 0 | ||
1340 | DWIDTH 5 0 | ||
1341 | BBX 5 8 0 -1 | ||
1342 | BITMAP | ||
1343 | 00 | ||
1344 | 48 | ||
1345 | 48 | ||
1346 | 48 | ||
1347 | 48 | ||
1348 | 30 | ||
1349 | 30 | ||
1350 | 00 | ||
1351 | ENDCHAR | ||
1352 | STARTCHAR W | ||
1353 | ENCODING 87 | ||
1354 | SWIDTH 1 0 | ||
1355 | DWIDTH 5 0 | ||
1356 | BBX 5 8 0 -1 | ||
1357 | BITMAP | ||
1358 | 00 | ||
1359 | 48 | ||
1360 | 48 | ||
1361 | 48 | ||
1362 | 78 | ||
1363 | 78 | ||
1364 | 48 | ||
1365 | 00 | ||
1366 | ENDCHAR | ||
1367 | STARTCHAR X | ||
1368 | ENCODING 88 | ||
1369 | SWIDTH 1 0 | ||
1370 | DWIDTH 5 0 | ||
1371 | BBX 5 8 0 -1 | ||
1372 | BITMAP | ||
1373 | 00 | ||
1374 | 48 | ||
1375 | 48 | ||
1376 | 30 | ||
1377 | 30 | ||
1378 | 48 | ||
1379 | 48 | ||
1380 | 00 | ||
1381 | ENDCHAR | ||
1382 | STARTCHAR Y | ||
1383 | ENCODING 89 | ||
1384 | SWIDTH 1 0 | ||
1385 | DWIDTH 5 0 | ||
1386 | BBX 5 8 0 -1 | ||
1387 | BITMAP | ||
1388 | 00 | ||
1389 | 88 | ||
1390 | 88 | ||
1391 | 50 | ||
1392 | 20 | ||
1393 | 20 | ||
1394 | 20 | ||
1395 | 00 | ||
1396 | ENDCHAR | ||
1397 | STARTCHAR Z | ||
1398 | ENCODING 90 | ||
1399 | SWIDTH 1 0 | ||
1400 | DWIDTH 5 0 | ||
1401 | BBX 5 8 0 -1 | ||
1402 | BITMAP | ||
1403 | 00 | ||
1404 | 78 | ||
1405 | 08 | ||
1406 | 10 | ||
1407 | 20 | ||
1408 | 40 | ||
1409 | 78 | ||
1410 | 00 | ||
1411 | ENDCHAR | ||
1412 | STARTCHAR [ | ||
1413 | ENCODING 91 | ||
1414 | SWIDTH 1 0 | ||
1415 | DWIDTH 5 0 | ||
1416 | BBX 5 8 0 -1 | ||
1417 | BITMAP | ||
1418 | 00 | ||
1419 | 70 | ||
1420 | 40 | ||
1421 | 40 | ||
1422 | 40 | ||
1423 | 40 | ||
1424 | 70 | ||
1425 | 00 | ||
1426 | ENDCHAR | ||
1427 | STARTCHAR \ | ||
1428 | ENCODING 92 | ||
1429 | SWIDTH 1 0 | ||
1430 | DWIDTH 5 0 | ||
1431 | BBX 5 8 0 -1 | ||
1432 | BITMAP | ||
1433 | 00 | ||
1434 | 40 | ||
1435 | 40 | ||
1436 | 20 | ||
1437 | 10 | ||
1438 | 08 | ||
1439 | 08 | ||
1440 | 00 | ||
1441 | ENDCHAR | ||
1442 | STARTCHAR ] | ||
1443 | ENCODING 93 | ||
1444 | SWIDTH 1 0 | ||
1445 | DWIDTH 5 0 | ||
1446 | BBX 5 8 0 -1 | ||
1447 | BITMAP | ||
1448 | 00 | ||
1449 | 70 | ||
1450 | 10 | ||
1451 | 10 | ||
1452 | 10 | ||
1453 | 10 | ||
1454 | 70 | ||
1455 | 00 | ||
1456 | ENDCHAR | ||
1457 | STARTCHAR ^ | ||
1458 | ENCODING 94 | ||
1459 | SWIDTH 1 0 | ||
1460 | DWIDTH 5 0 | ||
1461 | BBX 5 8 0 -1 | ||
1462 | BITMAP | ||
1463 | 00 | ||
1464 | 20 | ||
1465 | 50 | ||
1466 | 50 | ||
1467 | 00 | ||
1468 | 00 | ||
1469 | 00 | ||
1470 | 00 | ||
1471 | ENDCHAR | ||
1472 | STARTCHAR _ | ||
1473 | ENCODING 95 | ||
1474 | SWIDTH 1 0 | ||
1475 | DWIDTH 5 0 | ||
1476 | BBX 5 8 0 -1 | ||
1477 | BITMAP | ||
1478 | 00 | ||
1479 | 00 | ||
1480 | 00 | ||
1481 | 00 | ||
1482 | 00 | ||
1483 | 00 | ||
1484 | 00 | ||
1485 | 78 | ||
1486 | ENDCHAR | ||
1487 | STARTCHAR ` | ||
1488 | ENCODING 96 | ||
1489 | SWIDTH 1 0 | ||
1490 | DWIDTH 5 0 | ||
1491 | BBX 5 8 0 -1 | ||
1492 | BITMAP | ||
1493 | 00 | ||
1494 | 60 | ||
1495 | 40 | ||
1496 | 20 | ||
1497 | 00 | ||
1498 | 00 | ||
1499 | 00 | ||
1500 | 00 | ||
1501 | ENDCHAR | ||
1502 | STARTCHAR a | ||
1503 | ENCODING 97 | ||
1504 | SWIDTH 1 0 | ||
1505 | DWIDTH 5 0 | ||
1506 | BBX 5 8 0 -1 | ||
1507 | BITMAP | ||
1508 | 00 | ||
1509 | 00 | ||
1510 | 00 | ||
1511 | 28 | ||
1512 | 58 | ||
1513 | 58 | ||
1514 | 28 | ||
1515 | 00 | ||
1516 | ENDCHAR | ||
1517 | STARTCHAR b | ||
1518 | ENCODING 98 | ||
1519 | SWIDTH 1 0 | ||
1520 | DWIDTH 5 0 | ||
1521 | BBX 5 8 0 -1 | ||
1522 | BITMAP | ||
1523 | 00 | ||
1524 | 40 | ||
1525 | 40 | ||
1526 | 70 | ||
1527 | 48 | ||
1528 | 48 | ||
1529 | 70 | ||
1530 | 00 | ||
1531 | ENDCHAR | ||
1532 | STARTCHAR c | ||
1533 | ENCODING 99 | ||
1534 | SWIDTH 1 0 | ||
1535 | DWIDTH 5 0 | ||
1536 | BBX 5 8 0 -1 | ||
1537 | BITMAP | ||
1538 | 00 | ||
1539 | 00 | ||
1540 | 00 | ||
1541 | 30 | ||
1542 | 40 | ||
1543 | 40 | ||
1544 | 30 | ||
1545 | 00 | ||
1546 | ENDCHAR | ||
1547 | STARTCHAR d | ||
1548 | ENCODING 100 | ||
1549 | SWIDTH 1 0 | ||
1550 | DWIDTH 5 0 | ||
1551 | BBX 5 8 0 -1 | ||
1552 | BITMAP | ||
1553 | 00 | ||
1554 | 08 | ||
1555 | 08 | ||
1556 | 28 | ||
1557 | 58 | ||
1558 | 58 | ||
1559 | 28 | ||
1560 | 00 | ||
1561 | ENDCHAR | ||
1562 | STARTCHAR e | ||
1563 | ENCODING 101 | ||
1564 | SWIDTH 1 0 | ||
1565 | DWIDTH 5 0 | ||
1566 | BBX 5 8 0 -1 | ||
1567 | BITMAP | ||
1568 | 00 | ||
1569 | 00 | ||
1570 | 00 | ||
1571 | 30 | ||
1572 | 78 | ||
1573 | 40 | ||
1574 | 30 | ||
1575 | 00 | ||
1576 | ENDCHAR | ||
1577 | STARTCHAR f | ||
1578 | ENCODING 102 | ||
1579 | SWIDTH 1 0 | ||
1580 | DWIDTH 5 0 | ||
1581 | BBX 5 8 0 -1 | ||
1582 | BITMAP | ||
1583 | 00 | ||
1584 | 10 | ||
1585 | 28 | ||
1586 | 20 | ||
1587 | 70 | ||
1588 | 20 | ||
1589 | 20 | ||
1590 | 00 | ||
1591 | ENDCHAR | ||
1592 | STARTCHAR g | ||
1593 | ENCODING 103 | ||
1594 | SWIDTH 1 0 | ||
1595 | DWIDTH 5 0 | ||
1596 | BBX 5 8 0 -1 | ||
1597 | BITMAP | ||
1598 | 00 | ||
1599 | 00 | ||
1600 | 00 | ||
1601 | 30 | ||
1602 | 48 | ||
1603 | 38 | ||
1604 | 08 | ||
1605 | 30 | ||
1606 | ENDCHAR | ||
1607 | STARTCHAR h | ||
1608 | ENCODING 104 | ||
1609 | SWIDTH 1 0 | ||
1610 | DWIDTH 5 0 | ||
1611 | BBX 5 8 0 -1 | ||
1612 | BITMAP | ||
1613 | 00 | ||
1614 | 40 | ||
1615 | 40 | ||
1616 | 70 | ||
1617 | 48 | ||
1618 | 48 | ||
1619 | 48 | ||
1620 | 00 | ||
1621 | ENDCHAR | ||
1622 | STARTCHAR i | ||
1623 | ENCODING 105 | ||
1624 | SWIDTH 1 0 | ||
1625 | DWIDTH 5 0 | ||
1626 | BBX 5 8 0 -1 | ||
1627 | BITMAP | ||
1628 | 00 | ||
1629 | 20 | ||
1630 | 00 | ||
1631 | 60 | ||
1632 | 20 | ||
1633 | 20 | ||
1634 | 70 | ||
1635 | 00 | ||
1636 | ENDCHAR | ||
1637 | STARTCHAR j | ||
1638 | ENCODING 106 | ||
1639 | SWIDTH 1 0 | ||
1640 | DWIDTH 5 0 | ||
1641 | BBX 5 8 0 -1 | ||
1642 | BITMAP | ||
1643 | 00 | ||
1644 | 10 | ||
1645 | 00 | ||
1646 | 10 | ||
1647 | 10 | ||
1648 | 10 | ||
1649 | 50 | ||
1650 | 20 | ||
1651 | ENDCHAR | ||
1652 | STARTCHAR k | ||
1653 | ENCODING 107 | ||
1654 | SWIDTH 1 0 | ||
1655 | DWIDTH 5 0 | ||
1656 | BBX 5 8 0 -1 | ||
1657 | BITMAP | ||
1658 | 00 | ||
1659 | 40 | ||
1660 | 40 | ||
1661 | 48 | ||
1662 | 70 | ||
1663 | 48 | ||
1664 | 48 | ||
1665 | 00 | ||
1666 | ENDCHAR | ||
1667 | STARTCHAR l | ||
1668 | ENCODING 108 | ||
1669 | SWIDTH 1 0 | ||
1670 | DWIDTH 5 0 | ||
1671 | BBX 5 8 0 -1 | ||
1672 | BITMAP | ||
1673 | 00 | ||
1674 | 60 | ||
1675 | 20 | ||
1676 | 20 | ||
1677 | 20 | ||
1678 | 20 | ||
1679 | 70 | ||
1680 | 00 | ||
1681 | ENDCHAR | ||
1682 | STARTCHAR m | ||
1683 | ENCODING 109 | ||
1684 | SWIDTH 1 0 | ||
1685 | DWIDTH 5 0 | ||
1686 | BBX 5 8 0 -1 | ||
1687 | BITMAP | ||
1688 | 00 | ||
1689 | 00 | ||
1690 | 00 | ||
1691 | 50 | ||
1692 | a8 | ||
1693 | a8 | ||
1694 | 88 | ||
1695 | 00 | ||
1696 | ENDCHAR | ||
1697 | STARTCHAR n | ||
1698 | ENCODING 110 | ||
1699 | SWIDTH 1 0 | ||
1700 | DWIDTH 5 0 | ||
1701 | BBX 5 8 0 -1 | ||
1702 | BITMAP | ||
1703 | 00 | ||
1704 | 00 | ||
1705 | 00 | ||
1706 | 70 | ||
1707 | 48 | ||
1708 | 48 | ||
1709 | 48 | ||
1710 | 00 | ||
1711 | ENDCHAR | ||
1712 | STARTCHAR o | ||
1713 | ENCODING 111 | ||
1714 | SWIDTH 1 0 | ||
1715 | DWIDTH 5 0 | ||
1716 | BBX 5 8 0 -1 | ||
1717 | BITMAP | ||
1718 | 00 | ||
1719 | 00 | ||
1720 | 00 | ||
1721 | 30 | ||
1722 | 48 | ||
1723 | 48 | ||
1724 | 30 | ||
1725 | 00 | ||
1726 | ENDCHAR | ||
1727 | STARTCHAR p | ||
1728 | ENCODING 112 | ||
1729 | SWIDTH 1 0 | ||
1730 | DWIDTH 5 0 | ||
1731 | BBX 5 8 0 -1 | ||
1732 | BITMAP | ||
1733 | 00 | ||
1734 | 00 | ||
1735 | 00 | ||
1736 | 70 | ||
1737 | 48 | ||
1738 | 70 | ||
1739 | 40 | ||
1740 | 40 | ||
1741 | ENDCHAR | ||
1742 | STARTCHAR q | ||
1743 | ENCODING 113 | ||
1744 | SWIDTH 1 0 | ||
1745 | DWIDTH 5 0 | ||
1746 | BBX 5 8 0 -1 | ||
1747 | BITMAP | ||
1748 | 00 | ||
1749 | 00 | ||
1750 | 00 | ||
1751 | 38 | ||
1752 | 48 | ||
1753 | 38 | ||
1754 | 08 | ||
1755 | 08 | ||
1756 | ENDCHAR | ||
1757 | STARTCHAR r | ||
1758 | ENCODING 114 | ||
1759 | SWIDTH 1 0 | ||
1760 | DWIDTH 5 0 | ||
1761 | BBX 5 8 0 -1 | ||
1762 | BITMAP | ||
1763 | 00 | ||
1764 | 00 | ||
1765 | 00 | ||
1766 | 50 | ||
1767 | 68 | ||
1768 | 40 | ||
1769 | 40 | ||
1770 | 00 | ||
1771 | ENDCHAR | ||
1772 | STARTCHAR s | ||
1773 | ENCODING 115 | ||
1774 | SWIDTH 1 0 | ||
1775 | DWIDTH 5 0 | ||
1776 | BBX 5 8 0 -1 | ||
1777 | BITMAP | ||
1778 | 00 | ||
1779 | 00 | ||
1780 | 00 | ||
1781 | 70 | ||
1782 | 60 | ||
1783 | 10 | ||
1784 | 70 | ||
1785 | 00 | ||
1786 | ENDCHAR | ||
1787 | STARTCHAR t | ||
1788 | ENCODING 116 | ||
1789 | SWIDTH 1 0 | ||
1790 | DWIDTH 5 0 | ||
1791 | BBX 5 8 0 -1 | ||
1792 | BITMAP | ||
1793 | 00 | ||
1794 | 20 | ||
1795 | 20 | ||
1796 | 70 | ||
1797 | 20 | ||
1798 | 28 | ||
1799 | 10 | ||
1800 | 00 | ||
1801 | ENDCHAR | ||
1802 | STARTCHAR u | ||
1803 | ENCODING 117 | ||
1804 | SWIDTH 1 0 | ||
1805 | DWIDTH 5 0 | ||
1806 | BBX 5 8 0 -1 | ||
1807 | BITMAP | ||
1808 | 00 | ||
1809 | 00 | ||
1810 | 00 | ||
1811 | 48 | ||
1812 | 48 | ||
1813 | 48 | ||
1814 | 38 | ||
1815 | 00 | ||
1816 | ENDCHAR | ||
1817 | STARTCHAR v | ||
1818 | ENCODING 118 | ||
1819 | SWIDTH 1 0 | ||
1820 | DWIDTH 5 0 | ||
1821 | BBX 5 8 0 -1 | ||
1822 | BITMAP | ||
1823 | 00 | ||
1824 | 00 | ||
1825 | 00 | ||
1826 | 50 | ||
1827 | 50 | ||
1828 | 50 | ||
1829 | 20 | ||
1830 | 00 | ||
1831 | ENDCHAR | ||
1832 | STARTCHAR w | ||
1833 | ENCODING 119 | ||
1834 | SWIDTH 1 0 | ||
1835 | DWIDTH 5 0 | ||
1836 | BBX 5 8 0 -1 | ||
1837 | BITMAP | ||
1838 | 00 | ||
1839 | 00 | ||
1840 | 00 | ||
1841 | 88 | ||
1842 | a8 | ||
1843 | a8 | ||
1844 | 70 | ||
1845 | 00 | ||
1846 | ENDCHAR | ||
1847 | STARTCHAR x | ||
1848 | ENCODING 120 | ||
1849 | SWIDTH 1 0 | ||
1850 | DWIDTH 5 0 | ||
1851 | BBX 5 8 0 -1 | ||
1852 | BITMAP | ||
1853 | 00 | ||
1854 | 00 | ||
1855 | 00 | ||
1856 | 48 | ||
1857 | 30 | ||
1858 | 30 | ||
1859 | 48 | ||
1860 | 00 | ||
1861 | ENDCHAR | ||
1862 | STARTCHAR y | ||
1863 | ENCODING 121 | ||
1864 | SWIDTH 1 0 | ||
1865 | DWIDTH 5 0 | ||
1866 | BBX 5 8 0 -1 | ||
1867 | BITMAP | ||
1868 | 00 | ||
1869 | 00 | ||
1870 | 00 | ||
1871 | 48 | ||
1872 | 48 | ||
1873 | 38 | ||
1874 | 48 | ||
1875 | 30 | ||
1876 | ENDCHAR | ||
1877 | STARTCHAR z | ||
1878 | ENCODING 122 | ||
1879 | SWIDTH 1 0 | ||
1880 | DWIDTH 5 0 | ||
1881 | BBX 5 8 0 -1 | ||
1882 | BITMAP | ||
1883 | 00 | ||
1884 | 00 | ||
1885 | 00 | ||
1886 | 78 | ||
1887 | 10 | ||
1888 | 20 | ||
1889 | 78 | ||
1890 | 00 | ||
1891 | ENDCHAR | ||
1892 | STARTCHAR { | ||
1893 | ENCODING 123 | ||
1894 | SWIDTH 1 0 | ||
1895 | DWIDTH 5 0 | ||
1896 | BBX 5 8 0 -1 | ||
1897 | BITMAP | ||
1898 | 18 | ||
1899 | 20 | ||
1900 | 10 | ||
1901 | 60 | ||
1902 | 10 | ||
1903 | 20 | ||
1904 | 18 | ||
1905 | 00 | ||
1906 | ENDCHAR | ||
1907 | STARTCHAR | | ||
1908 | ENCODING 124 | ||
1909 | SWIDTH 1 0 | ||
1910 | DWIDTH 5 0 | ||
1911 | BBX 5 8 0 -1 | ||
1912 | BITMAP | ||
1913 | 00 | ||
1914 | 20 | ||
1915 | 20 | ||
1916 | 20 | ||
1917 | 20 | ||
1918 | 20 | ||
1919 | 20 | ||
1920 | 00 | ||
1921 | ENDCHAR | ||
1922 | STARTCHAR } | ||
1923 | ENCODING 125 | ||
1924 | SWIDTH 1 0 | ||
1925 | DWIDTH 5 0 | ||
1926 | BBX 5 8 0 -1 | ||
1927 | BITMAP | ||
1928 | 60 | ||
1929 | 10 | ||
1930 | 20 | ||
1931 | 18 | ||
1932 | 20 | ||
1933 | 10 | ||
1934 | 60 | ||
1935 | 00 | ||
1936 | ENDCHAR | ||
1937 | STARTCHAR ~ | ||
1938 | ENCODING 126 | ||
1939 | SWIDTH 1 0 | ||
1940 | DWIDTH 5 0 | ||
1941 | BBX 5 8 0 -1 | ||
1942 | BITMAP | ||
1943 | 00 | ||
1944 | 28 | ||
1945 | 50 | ||
1946 | 00 | ||
1947 | 00 | ||
1948 | 00 | ||
1949 | 00 | ||
1950 | 00 | ||
1951 | ENDCHAR | ||
1952 | STARTCHAR C177 | ||
1953 | ENCODING 127 | ||
1954 | SWIDTH 1 0 | ||
1955 | DWIDTH 5 0 | ||
1956 | BBX 5 8 0 -1 | ||
1957 | BITMAP | ||
1958 | 00 | ||
1959 | 00 | ||
1960 | 00 | ||
1961 | 00 | ||
1962 | 00 | ||
1963 | 00 | ||
1964 | 00 | ||
1965 | 00 | ||
1966 | ENDCHAR | ||
1967 | ENDFONT | ||
diff --git a/firmware/X5x8.c b/firmware/X5x8.c new file mode 100644 index 0000000000..6422cc892d --- /dev/null +++ b/firmware/X5x8.c | |||
@@ -0,0 +1,2853 @@ | |||
1 | /* Generated by convbdf on Tue Sep 10 11:31:14 MDT 2002. */ | ||
2 | #include "config.h" | ||
3 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | ||
4 | #include "font.h" | ||
5 | |||
6 | /* Font information: | ||
7 | |||
8 | name: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO646.1991-IRV | ||
9 | pixel size: 8 | ||
10 | ascent: 7 | ||
11 | descent: 1 | ||
12 | */ | ||
13 | |||
14 | /* Font character bitmap data. */ | ||
15 | static MWIMAGEBITS X5x8_bits[] = { | ||
16 | |||
17 | /* Character (0x00): | ||
18 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
19 | +----------------+ | ||
20 | | | | ||
21 | | | | ||
22 | | | | ||
23 | | | | ||
24 | | | | ||
25 | | | | ||
26 | | | | ||
27 | | | | ||
28 | +----------------+ */ | ||
29 | 0x0000, | ||
30 | 0x0000, | ||
31 | 0x0000, | ||
32 | 0x0000, | ||
33 | 0x0000, | ||
34 | 0x0000, | ||
35 | 0x0000, | ||
36 | 0x0000, | ||
37 | |||
38 | /* Character (0x01): | ||
39 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
40 | +----------------+ | ||
41 | | | | ||
42 | | * | | ||
43 | | *** | | ||
44 | |***** | | ||
45 | | *** | | ||
46 | | * | | ||
47 | | | | ||
48 | | | | ||
49 | +----------------+ */ | ||
50 | 0x0000, | ||
51 | 0x2000, | ||
52 | 0x7000, | ||
53 | 0xf800, | ||
54 | 0x7000, | ||
55 | 0x2000, | ||
56 | 0x0000, | ||
57 | 0x0000, | ||
58 | |||
59 | /* Character (0x02): | ||
60 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
61 | +----------------+ | ||
62 | | | | ||
63 | | * * | | ||
64 | | * * | | ||
65 | | * * | | ||
66 | | * * | | ||
67 | | * * | | ||
68 | | * * | | ||
69 | | * * | | ||
70 | +----------------+ */ | ||
71 | 0x0000, | ||
72 | 0x2800, | ||
73 | 0x5000, | ||
74 | 0x2800, | ||
75 | 0x5000, | ||
76 | 0x2800, | ||
77 | 0x5000, | ||
78 | 0x2800, | ||
79 | |||
80 | /* Character (0x03): | ||
81 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
82 | +----------------+ | ||
83 | | * * | | ||
84 | | * * | | ||
85 | | *** | | ||
86 | | * * | | ||
87 | | * * | | ||
88 | | *** | | ||
89 | | * | | ||
90 | | * | | ||
91 | +----------------+ */ | ||
92 | 0x5000, | ||
93 | 0x5000, | ||
94 | 0x7000, | ||
95 | 0x5000, | ||
96 | 0x5000, | ||
97 | 0x3800, | ||
98 | 0x1000, | ||
99 | 0x1000, | ||
100 | |||
101 | /* Character (0x04): | ||
102 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
103 | +----------------+ | ||
104 | |*** | | ||
105 | |* | | ||
106 | |** | | ||
107 | |* *** | | ||
108 | |* * | | ||
109 | | ** | | ||
110 | | * | | ||
111 | | * | | ||
112 | +----------------+ */ | ||
113 | 0xe000, | ||
114 | 0x8000, | ||
115 | 0xc000, | ||
116 | 0xb800, | ||
117 | 0xa000, | ||
118 | 0x3000, | ||
119 | 0x2000, | ||
120 | 0x2000, | ||
121 | |||
122 | /* Character (0x05): | ||
123 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
124 | +----------------+ | ||
125 | | ** | | ||
126 | |* | | ||
127 | | ** | | ||
128 | | | | ||
129 | | ** | | ||
130 | | * * | | ||
131 | | ** | | ||
132 | | * * | | ||
133 | +----------------+ */ | ||
134 | 0x6000, | ||
135 | 0x8000, | ||
136 | 0x6000, | ||
137 | 0x0000, | ||
138 | 0x3000, | ||
139 | 0x2800, | ||
140 | 0x3000, | ||
141 | 0x2800, | ||
142 | |||
143 | /* Character (0x06): | ||
144 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
145 | +----------------+ | ||
146 | |* | | ||
147 | |* | | ||
148 | |* | | ||
149 | |*** | | ||
150 | | *** | | ||
151 | | * | | ||
152 | | ** | | ||
153 | | * | | ||
154 | +----------------+ */ | ||
155 | 0x8000, | ||
156 | 0x8000, | ||
157 | 0x8000, | ||
158 | 0xe000, | ||
159 | 0x3800, | ||
160 | 0x2000, | ||
161 | 0x3000, | ||
162 | 0x2000, | ||
163 | |||
164 | /* Character (0x07): | ||
165 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
166 | +----------------+ | ||
167 | | | | ||
168 | | * | | ||
169 | | * * | | ||
170 | | * | | ||
171 | | | | ||
172 | | | | ||
173 | | | | ||
174 | | | | ||
175 | +----------------+ */ | ||
176 | 0x0000, | ||
177 | 0x2000, | ||
178 | 0x5000, | ||
179 | 0x2000, | ||
180 | 0x0000, | ||
181 | 0x0000, | ||
182 | 0x0000, | ||
183 | 0x0000, | ||
184 | |||
185 | /* Character (0x08): | ||
186 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
187 | +----------------+ | ||
188 | | | | ||
189 | | * | | ||
190 | | *** | | ||
191 | | * | | ||
192 | | | | ||
193 | | *** | | ||
194 | | | | ||
195 | | | | ||
196 | +----------------+ */ | ||
197 | 0x0000, | ||
198 | 0x2000, | ||
199 | 0x7000, | ||
200 | 0x2000, | ||
201 | 0x0000, | ||
202 | 0x7000, | ||
203 | 0x0000, | ||
204 | 0x0000, | ||
205 | |||
206 | /* Character (0x09): | ||
207 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
208 | +----------------+ | ||
209 | |* * | | ||
210 | |** * | | ||
211 | |* ** | | ||
212 | |* * | | ||
213 | | * | | ||
214 | | * | | ||
215 | | * | | ||
216 | | *** | | ||
217 | +----------------+ */ | ||
218 | 0x9000, | ||
219 | 0xd000, | ||
220 | 0xb000, | ||
221 | 0x9000, | ||
222 | 0x2000, | ||
223 | 0x2000, | ||
224 | 0x2000, | ||
225 | 0x3800, | ||
226 | |||
227 | /* Character (0x0a): | ||
228 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
229 | +----------------+ | ||
230 | |* * | | ||
231 | |* * | | ||
232 | |* * | | ||
233 | | * | | ||
234 | | *** | | ||
235 | | * | | ||
236 | | * | | ||
237 | | * | | ||
238 | +----------------+ */ | ||
239 | 0xa000, | ||
240 | 0xa000, | ||
241 | 0xa000, | ||
242 | 0x4000, | ||
243 | 0x3800, | ||
244 | 0x1000, | ||
245 | 0x1000, | ||
246 | 0x1000, | ||
247 | |||
248 | /* Character (0x0b): | ||
249 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
250 | +----------------+ | ||
251 | | * | | ||
252 | | * | | ||
253 | | * | | ||
254 | |*** | | ||
255 | | | | ||
256 | | | | ||
257 | | | | ||
258 | | | | ||
259 | +----------------+ */ | ||
260 | 0x2000, | ||
261 | 0x2000, | ||
262 | 0x2000, | ||
263 | 0xe000, | ||
264 | 0x0000, | ||
265 | 0x0000, | ||
266 | 0x0000, | ||
267 | 0x0000, | ||
268 | |||
269 | /* Character (0x0c): | ||
270 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
271 | +----------------+ | ||
272 | | | | ||
273 | | | | ||
274 | | | | ||
275 | |*** | | ||
276 | | * | | ||
277 | | * | | ||
278 | | * | | ||
279 | | * | | ||
280 | +----------------+ */ | ||
281 | 0x0000, | ||
282 | 0x0000, | ||
283 | 0x0000, | ||
284 | 0xe000, | ||
285 | 0x2000, | ||
286 | 0x2000, | ||
287 | 0x2000, | ||
288 | 0x2000, | ||
289 | |||
290 | /* Character (0x0d): | ||
291 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
292 | +----------------+ | ||
293 | | | | ||
294 | | | | ||
295 | | | | ||
296 | | *** | | ||
297 | | * | | ||
298 | | * | | ||
299 | | * | | ||
300 | | * | | ||
301 | +----------------+ */ | ||
302 | 0x0000, | ||
303 | 0x0000, | ||
304 | 0x0000, | ||
305 | 0x3800, | ||
306 | 0x2000, | ||
307 | 0x2000, | ||
308 | 0x2000, | ||
309 | 0x2000, | ||
310 | |||
311 | /* Character (0x0e): | ||
312 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
313 | +----------------+ | ||
314 | | * | | ||
315 | | * | | ||
316 | | * | | ||
317 | | *** | | ||
318 | | | | ||
319 | | | | ||
320 | | | | ||
321 | | | | ||
322 | +----------------+ */ | ||
323 | 0x2000, | ||
324 | 0x2000, | ||
325 | 0x2000, | ||
326 | 0x3800, | ||
327 | 0x0000, | ||
328 | 0x0000, | ||
329 | 0x0000, | ||
330 | 0x0000, | ||
331 | |||
332 | /* Character (0x0f): | ||
333 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
334 | +----------------+ | ||
335 | | * | | ||
336 | | * | | ||
337 | | * | | ||
338 | |***** | | ||
339 | | * | | ||
340 | | * | | ||
341 | | * | | ||
342 | | * | | ||
343 | +----------------+ */ | ||
344 | 0x2000, | ||
345 | 0x2000, | ||
346 | 0x2000, | ||
347 | 0xf800, | ||
348 | 0x2000, | ||
349 | 0x2000, | ||
350 | 0x2000, | ||
351 | 0x2000, | ||
352 | |||
353 | /* Character (0x10): | ||
354 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
355 | +----------------+ | ||
356 | | | | ||
357 | |***** | | ||
358 | | | | ||
359 | | | | ||
360 | | | | ||
361 | | | | ||
362 | | | | ||
363 | | | | ||
364 | +----------------+ */ | ||
365 | 0x0000, | ||
366 | 0xf800, | ||
367 | 0x0000, | ||
368 | 0x0000, | ||
369 | 0x0000, | ||
370 | 0x0000, | ||
371 | 0x0000, | ||
372 | 0x0000, | ||
373 | |||
374 | /* Character (0x11): | ||
375 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
376 | +----------------+ | ||
377 | | | | ||
378 | | | | ||
379 | |***** | | ||
380 | | | | ||
381 | | | | ||
382 | | | | ||
383 | | | | ||
384 | | | | ||
385 | +----------------+ */ | ||
386 | 0x0000, | ||
387 | 0x0000, | ||
388 | 0xf800, | ||
389 | 0x0000, | ||
390 | 0x0000, | ||
391 | 0x0000, | ||
392 | 0x0000, | ||
393 | 0x0000, | ||
394 | |||
395 | /* Character (0x12): | ||
396 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
397 | +----------------+ | ||
398 | | | | ||
399 | | | | ||
400 | | | | ||
401 | |***** | | ||
402 | | | | ||
403 | | | | ||
404 | | | | ||
405 | | | | ||
406 | +----------------+ */ | ||
407 | 0x0000, | ||
408 | 0x0000, | ||
409 | 0x0000, | ||
410 | 0xf800, | ||
411 | 0x0000, | ||
412 | 0x0000, | ||
413 | 0x0000, | ||
414 | 0x0000, | ||
415 | |||
416 | /* Character (0x13): | ||
417 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
418 | +----------------+ | ||
419 | | | | ||
420 | | | | ||
421 | | | | ||
422 | | | | ||
423 | |***** | | ||
424 | | | | ||
425 | | | | ||
426 | | | | ||
427 | +----------------+ */ | ||
428 | 0x0000, | ||
429 | 0x0000, | ||
430 | 0x0000, | ||
431 | 0x0000, | ||
432 | 0xf800, | ||
433 | 0x0000, | ||
434 | 0x0000, | ||
435 | 0x0000, | ||
436 | |||
437 | /* Character (0x14): | ||
438 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
439 | +----------------+ | ||
440 | | | | ||
441 | | | | ||
442 | | | | ||
443 | | | | ||
444 | | | | ||
445 | |***** | | ||
446 | | | | ||
447 | | | | ||
448 | +----------------+ */ | ||
449 | 0x0000, | ||
450 | 0x0000, | ||
451 | 0x0000, | ||
452 | 0x0000, | ||
453 | 0x0000, | ||
454 | 0xf800, | ||
455 | 0x0000, | ||
456 | 0x0000, | ||
457 | |||
458 | /* Character (0x15): | ||
459 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
460 | +----------------+ | ||
461 | | * | | ||
462 | | * | | ||
463 | | * | | ||
464 | | *** | | ||
465 | | * | | ||
466 | | * | | ||
467 | | * | | ||
468 | | * | | ||
469 | +----------------+ */ | ||
470 | 0x2000, | ||
471 | 0x2000, | ||
472 | 0x2000, | ||
473 | 0x3800, | ||
474 | 0x2000, | ||
475 | 0x2000, | ||
476 | 0x2000, | ||
477 | 0x2000, | ||
478 | |||
479 | /* Character (0x16): | ||
480 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
481 | +----------------+ | ||
482 | | * | | ||
483 | | * | | ||
484 | | * | | ||
485 | |*** | | ||
486 | | * | | ||
487 | | * | | ||
488 | | * | | ||
489 | | * | | ||
490 | +----------------+ */ | ||
491 | 0x2000, | ||
492 | 0x2000, | ||
493 | 0x2000, | ||
494 | 0xe000, | ||
495 | 0x2000, | ||
496 | 0x2000, | ||
497 | 0x2000, | ||
498 | 0x2000, | ||
499 | |||
500 | /* Character (0x17): | ||
501 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
502 | +----------------+ | ||
503 | | * | | ||
504 | | * | | ||
505 | | * | | ||
506 | |***** | | ||
507 | | | | ||
508 | | | | ||
509 | | | | ||
510 | | | | ||
511 | +----------------+ */ | ||
512 | 0x2000, | ||
513 | 0x2000, | ||
514 | 0x2000, | ||
515 | 0xf800, | ||
516 | 0x0000, | ||
517 | 0x0000, | ||
518 | 0x0000, | ||
519 | 0x0000, | ||
520 | |||
521 | /* Character (0x18): | ||
522 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
523 | +----------------+ | ||
524 | | | | ||
525 | | | | ||
526 | | | | ||
527 | |***** | | ||
528 | | * | | ||
529 | | * | | ||
530 | | * | | ||
531 | | * | | ||
532 | +----------------+ */ | ||
533 | 0x0000, | ||
534 | 0x0000, | ||
535 | 0x0000, | ||
536 | 0xf800, | ||
537 | 0x2000, | ||
538 | 0x2000, | ||
539 | 0x2000, | ||
540 | 0x2000, | ||
541 | |||
542 | /* Character (0x19): | ||
543 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
544 | +----------------+ | ||
545 | | * | | ||
546 | | * | | ||
547 | | * | | ||
548 | | * | | ||
549 | | * | | ||
550 | | * | | ||
551 | | * | | ||
552 | | * | | ||
553 | +----------------+ */ | ||
554 | 0x2000, | ||
555 | 0x2000, | ||
556 | 0x2000, | ||
557 | 0x2000, | ||
558 | 0x2000, | ||
559 | 0x2000, | ||
560 | 0x2000, | ||
561 | 0x2000, | ||
562 | |||
563 | /* Character (0x1a): | ||
564 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
565 | +----------------+ | ||
566 | | | | ||
567 | | * | | ||
568 | | * | | ||
569 | | * | | ||
570 | | * | | ||
571 | | * | | ||
572 | | *** | | ||
573 | | | | ||
574 | +----------------+ */ | ||
575 | 0x0000, | ||
576 | 0x1000, | ||
577 | 0x2000, | ||
578 | 0x4000, | ||
579 | 0x2000, | ||
580 | 0x1000, | ||
581 | 0x7000, | ||
582 | 0x0000, | ||
583 | |||
584 | /* Character (0x1b): | ||
585 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
586 | +----------------+ | ||
587 | | | | ||
588 | | * | | ||
589 | | * | | ||
590 | | * | | ||
591 | | * | | ||
592 | | * | | ||
593 | | *** | | ||
594 | | | | ||
595 | +----------------+ */ | ||
596 | 0x0000, | ||
597 | 0x4000, | ||
598 | 0x2000, | ||
599 | 0x1000, | ||
600 | 0x2000, | ||
601 | 0x4000, | ||
602 | 0x7000, | ||
603 | 0x0000, | ||
604 | |||
605 | /* Character (0x1c): | ||
606 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
607 | +----------------+ | ||
608 | | | | ||
609 | |***** | | ||
610 | | * * | | ||
611 | | * * | | ||
612 | | * * | | ||
613 | | * * | | ||
614 | | | | ||
615 | | | | ||
616 | +----------------+ */ | ||
617 | 0x0000, | ||
618 | 0xf800, | ||
619 | 0x5000, | ||
620 | 0x5000, | ||
621 | 0x5000, | ||
622 | 0x5000, | ||
623 | 0x0000, | ||
624 | 0x0000, | ||
625 | |||
626 | /* Character (0x1d): | ||
627 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
628 | +----------------+ | ||
629 | | | | ||
630 | | * | | ||
631 | |***** | | ||
632 | | * | | ||
633 | |***** | | ||
634 | | * | | ||
635 | | | | ||
636 | | | | ||
637 | +----------------+ */ | ||
638 | 0x0000, | ||
639 | 0x1000, | ||
640 | 0xf800, | ||
641 | 0x2000, | ||
642 | 0xf800, | ||
643 | 0x4000, | ||
644 | 0x0000, | ||
645 | 0x0000, | ||
646 | |||
647 | /* Character (0x1e): | ||
648 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
649 | +----------------+ | ||
650 | | | | ||
651 | | ** | | ||
652 | | * * | | ||
653 | |*** | | ||
654 | | * | | ||
655 | | * * | | ||
656 | |* ** | | ||
657 | | | | ||
658 | +----------------+ */ | ||
659 | 0x0000, | ||
660 | 0x3000, | ||
661 | 0x4800, | ||
662 | 0xe000, | ||
663 | 0x4000, | ||
664 | 0x4800, | ||
665 | 0xb000, | ||
666 | 0x0000, | ||
667 | |||
668 | /* Character (0x1f): | ||
669 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
670 | +----------------+ | ||
671 | | | | ||
672 | | | | ||
673 | | | | ||
674 | | * | | ||
675 | | | | ||
676 | | | | ||
677 | | | | ||
678 | | | | ||
679 | +----------------+ */ | ||
680 | 0x0000, | ||
681 | 0x0000, | ||
682 | 0x0000, | ||
683 | 0x2000, | ||
684 | 0x0000, | ||
685 | 0x0000, | ||
686 | 0x0000, | ||
687 | 0x0000, | ||
688 | |||
689 | /* Character (0x20): | ||
690 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
691 | +----------------+ | ||
692 | | | | ||
693 | | | | ||
694 | | | | ||
695 | | | | ||
696 | | | | ||
697 | | | | ||
698 | | | | ||
699 | | | | ||
700 | +----------------+ */ | ||
701 | 0x0000, | ||
702 | 0x0000, | ||
703 | 0x0000, | ||
704 | 0x0000, | ||
705 | 0x0000, | ||
706 | 0x0000, | ||
707 | 0x0000, | ||
708 | 0x0000, | ||
709 | |||
710 | /* Character (0x21): | ||
711 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
712 | +----------------+ | ||
713 | | | | ||
714 | | * | | ||
715 | | * | | ||
716 | | * | | ||
717 | | * | | ||
718 | | | | ||
719 | | * | | ||
720 | | | | ||
721 | +----------------+ */ | ||
722 | 0x0000, | ||
723 | 0x2000, | ||
724 | 0x2000, | ||
725 | 0x2000, | ||
726 | 0x2000, | ||
727 | 0x0000, | ||
728 | 0x2000, | ||
729 | 0x0000, | ||
730 | |||
731 | /* Character (0x22): | ||
732 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
733 | +----------------+ | ||
734 | | | | ||
735 | | * * | | ||
736 | | * * | | ||
737 | | * * | | ||
738 | | | | ||
739 | | | | ||
740 | | | | ||
741 | | | | ||
742 | +----------------+ */ | ||
743 | 0x0000, | ||
744 | 0x5000, | ||
745 | 0x5000, | ||
746 | 0x5000, | ||
747 | 0x0000, | ||
748 | 0x0000, | ||
749 | 0x0000, | ||
750 | 0x0000, | ||
751 | |||
752 | /* Character (0x23): | ||
753 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
754 | +----------------+ | ||
755 | | * * | | ||
756 | | * * | | ||
757 | |***** | | ||
758 | | * * | | ||
759 | |***** | | ||
760 | | * * | | ||
761 | | * * | | ||
762 | | | | ||
763 | +----------------+ */ | ||
764 | 0x5000, | ||
765 | 0x5000, | ||
766 | 0xf800, | ||
767 | 0x5000, | ||
768 | 0xf800, | ||
769 | 0x5000, | ||
770 | 0x5000, | ||
771 | 0x0000, | ||
772 | |||
773 | /* Character (0x24): | ||
774 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
775 | +----------------+ | ||
776 | | * | | ||
777 | | *** | | ||
778 | |* * | | ||
779 | | *** | | ||
780 | | * * | | ||
781 | | *** | | ||
782 | | * | | ||
783 | | | | ||
784 | +----------------+ */ | ||
785 | 0x2000, | ||
786 | 0x7000, | ||
787 | 0xa000, | ||
788 | 0x7000, | ||
789 | 0x2800, | ||
790 | 0x7000, | ||
791 | 0x2000, | ||
792 | 0x0000, | ||
793 | |||
794 | /* Character (0x25): | ||
795 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
796 | +----------------+ | ||
797 | | | | ||
798 | | * | | ||
799 | | * * | | ||
800 | | * | | ||
801 | | * * | | ||
802 | | * | | ||
803 | | | | ||
804 | | | | ||
805 | +----------------+ */ | ||
806 | 0x0000, | ||
807 | 0x4000, | ||
808 | 0x5000, | ||
809 | 0x2000, | ||
810 | 0x5000, | ||
811 | 0x1000, | ||
812 | 0x0000, | ||
813 | 0x0000, | ||
814 | |||
815 | /* Character (0x26): | ||
816 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
817 | +----------------+ | ||
818 | | * | | ||
819 | | * * | | ||
820 | | * * | | ||
821 | | * | | ||
822 | | * * | | ||
823 | | * * | | ||
824 | | * * | | ||
825 | | | | ||
826 | +----------------+ */ | ||
827 | 0x2000, | ||
828 | 0x5000, | ||
829 | 0x5000, | ||
830 | 0x2000, | ||
831 | 0x5000, | ||
832 | 0x5000, | ||
833 | 0x2800, | ||
834 | 0x0000, | ||
835 | |||
836 | /* Character (0x27): | ||
837 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
838 | +----------------+ | ||
839 | | | | ||
840 | | ** | | ||
841 | | * | | ||
842 | | * | | ||
843 | | | | ||
844 | | | | ||
845 | | | | ||
846 | | | | ||
847 | +----------------+ */ | ||
848 | 0x0000, | ||
849 | 0x3000, | ||
850 | 0x2000, | ||
851 | 0x4000, | ||
852 | 0x0000, | ||
853 | 0x0000, | ||
854 | 0x0000, | ||
855 | 0x0000, | ||
856 | |||
857 | /* Character (0x28): | ||
858 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
859 | +----------------+ | ||
860 | | | | ||
861 | | * | | ||
862 | | * | | ||
863 | | * | | ||
864 | | * | | ||
865 | | * | | ||
866 | | | | ||
867 | | | | ||
868 | +----------------+ */ | ||
869 | 0x0000, | ||
870 | 0x1000, | ||
871 | 0x2000, | ||
872 | 0x2000, | ||
873 | 0x2000, | ||
874 | 0x1000, | ||
875 | 0x0000, | ||
876 | 0x0000, | ||
877 | |||
878 | /* Character (0x29): | ||
879 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
880 | +----------------+ | ||
881 | | | | ||
882 | | * | | ||
883 | | * | | ||
884 | | * | | ||
885 | | * | | ||
886 | | * | | ||
887 | | | | ||
888 | | | | ||
889 | +----------------+ */ | ||
890 | 0x0000, | ||
891 | 0x4000, | ||
892 | 0x2000, | ||
893 | 0x2000, | ||
894 | 0x2000, | ||
895 | 0x4000, | ||
896 | 0x0000, | ||
897 | 0x0000, | ||
898 | |||
899 | /* Character (0x2a): | ||
900 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
901 | +----------------+ | ||
902 | | | | ||
903 | | * * | | ||
904 | | ** | | ||
905 | | **** | | ||
906 | | ** | | ||
907 | | * * | | ||
908 | | | | ||
909 | | | | ||
910 | +----------------+ */ | ||
911 | 0x0000, | ||
912 | 0x4800, | ||
913 | 0x3000, | ||
914 | 0x7800, | ||
915 | 0x3000, | ||
916 | 0x4800, | ||
917 | 0x0000, | ||
918 | 0x0000, | ||
919 | |||
920 | /* Character (0x2b): | ||
921 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
922 | +----------------+ | ||
923 | | | | ||
924 | | * | | ||
925 | | * | | ||
926 | |***** | | ||
927 | | * | | ||
928 | | * | | ||
929 | | | | ||
930 | | | | ||
931 | +----------------+ */ | ||
932 | 0x0000, | ||
933 | 0x2000, | ||
934 | 0x2000, | ||
935 | 0xf800, | ||
936 | 0x2000, | ||
937 | 0x2000, | ||
938 | 0x0000, | ||
939 | 0x0000, | ||
940 | |||
941 | /* Character (0x2c): | ||
942 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
943 | +----------------+ | ||
944 | | | | ||
945 | | | | ||
946 | | | | ||
947 | | | | ||
948 | | ** | | ||
949 | | * | | ||
950 | | * | | ||
951 | | | | ||
952 | +----------------+ */ | ||
953 | 0x0000, | ||
954 | 0x0000, | ||
955 | 0x0000, | ||
956 | 0x0000, | ||
957 | 0x3000, | ||
958 | 0x2000, | ||
959 | 0x4000, | ||
960 | 0x0000, | ||
961 | |||
962 | /* Character (0x2d): | ||
963 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
964 | +----------------+ | ||
965 | | | | ||
966 | | | | ||
967 | | | | ||
968 | | | | ||
969 | | **** | | ||
970 | | | | ||
971 | | | | ||
972 | | | | ||
973 | +----------------+ */ | ||
974 | 0x0000, | ||
975 | 0x0000, | ||
976 | 0x0000, | ||
977 | 0x0000, | ||
978 | 0x7800, | ||
979 | 0x0000, | ||
980 | 0x0000, | ||
981 | 0x0000, | ||
982 | |||
983 | /* Character (0x2e): | ||
984 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
985 | +----------------+ | ||
986 | | | | ||
987 | | | | ||
988 | | | | ||
989 | | | | ||
990 | | * | | ||
991 | | *** | | ||
992 | | * | | ||
993 | | | | ||
994 | +----------------+ */ | ||
995 | 0x0000, | ||
996 | 0x0000, | ||
997 | 0x0000, | ||
998 | 0x0000, | ||
999 | 0x2000, | ||
1000 | 0x7000, | ||
1001 | 0x2000, | ||
1002 | 0x0000, | ||
1003 | |||
1004 | /* Character (0x2f): | ||
1005 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1006 | +----------------+ | ||
1007 | | | | ||
1008 | | * | | ||
1009 | | * | | ||
1010 | | * | | ||
1011 | | * | | ||
1012 | | * | | ||
1013 | | * | | ||
1014 | | | | ||
1015 | +----------------+ */ | ||
1016 | 0x0000, | ||
1017 | 0x0800, | ||
1018 | 0x0800, | ||
1019 | 0x1000, | ||
1020 | 0x2000, | ||
1021 | 0x4000, | ||
1022 | 0x4000, | ||
1023 | 0x0000, | ||
1024 | |||
1025 | /* Character (0x30): | ||
1026 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1027 | +----------------+ | ||
1028 | | | | ||
1029 | | * | | ||
1030 | | * * | | ||
1031 | | * * | | ||
1032 | | * * | | ||
1033 | | * * | | ||
1034 | | * | | ||
1035 | | | | ||
1036 | +----------------+ */ | ||
1037 | 0x0000, | ||
1038 | 0x2000, | ||
1039 | 0x5000, | ||
1040 | 0x5000, | ||
1041 | 0x5000, | ||
1042 | 0x5000, | ||
1043 | 0x2000, | ||
1044 | 0x0000, | ||
1045 | |||
1046 | /* Character (0x31): | ||
1047 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1048 | +----------------+ | ||
1049 | | | | ||
1050 | | * | | ||
1051 | | ** | | ||
1052 | | * | | ||
1053 | | * | | ||
1054 | | * | | ||
1055 | | *** | | ||
1056 | | | | ||
1057 | +----------------+ */ | ||
1058 | 0x0000, | ||
1059 | 0x2000, | ||
1060 | 0x6000, | ||
1061 | 0x2000, | ||
1062 | 0x2000, | ||
1063 | 0x2000, | ||
1064 | 0x7000, | ||
1065 | 0x0000, | ||
1066 | |||
1067 | /* Character (0x32): | ||
1068 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1069 | +----------------+ | ||
1070 | | | | ||
1071 | | ** | | ||
1072 | | * * | | ||
1073 | | * | | ||
1074 | | ** | | ||
1075 | | * | | ||
1076 | | **** | | ||
1077 | | | | ||
1078 | +----------------+ */ | ||
1079 | 0x0000, | ||
1080 | 0x3000, | ||
1081 | 0x4800, | ||
1082 | 0x0800, | ||
1083 | 0x3000, | ||
1084 | 0x4000, | ||
1085 | 0x7800, | ||
1086 | 0x0000, | ||
1087 | |||
1088 | /* Character (0x33): | ||
1089 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1090 | +----------------+ | ||
1091 | | | | ||
1092 | | ** | | ||
1093 | | * * | | ||
1094 | | * | | ||
1095 | | * | | ||
1096 | | * * | | ||
1097 | | ** | | ||
1098 | | | | ||
1099 | +----------------+ */ | ||
1100 | 0x0000, | ||
1101 | 0x3000, | ||
1102 | 0x4800, | ||
1103 | 0x1000, | ||
1104 | 0x0800, | ||
1105 | 0x4800, | ||
1106 | 0x3000, | ||
1107 | 0x0000, | ||
1108 | |||
1109 | /* Character (0x34): | ||
1110 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1111 | +----------------+ | ||
1112 | | | | ||
1113 | | * | | ||
1114 | | ** | | ||
1115 | | * * | | ||
1116 | | **** | | ||
1117 | | * | | ||
1118 | | * | | ||
1119 | | | | ||
1120 | +----------------+ */ | ||
1121 | 0x0000, | ||
1122 | 0x1000, | ||
1123 | 0x3000, | ||
1124 | 0x5000, | ||
1125 | 0x7800, | ||
1126 | 0x1000, | ||
1127 | 0x1000, | ||
1128 | 0x0000, | ||
1129 | |||
1130 | /* Character (0x35): | ||
1131 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1132 | +----------------+ | ||
1133 | | | | ||
1134 | | **** | | ||
1135 | | * | | ||
1136 | | *** | | ||
1137 | | * | | ||
1138 | | * * | | ||
1139 | | ** | | ||
1140 | | | | ||
1141 | +----------------+ */ | ||
1142 | 0x0000, | ||
1143 | 0x7800, | ||
1144 | 0x4000, | ||
1145 | 0x7000, | ||
1146 | 0x0800, | ||
1147 | 0x4800, | ||
1148 | 0x3000, | ||
1149 | 0x0000, | ||
1150 | |||
1151 | /* Character (0x36): | ||
1152 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1153 | +----------------+ | ||
1154 | | | | ||
1155 | | ** | | ||
1156 | | * | | ||
1157 | | * * | | ||
1158 | | ** * | | ||
1159 | | * * | | ||
1160 | | ** | | ||
1161 | | | | ||
1162 | +----------------+ */ | ||
1163 | 0x0000, | ||
1164 | 0x3000, | ||
1165 | 0x4000, | ||
1166 | 0x5000, | ||
1167 | 0x6800, | ||
1168 | 0x4800, | ||
1169 | 0x3000, | ||
1170 | 0x0000, | ||
1171 | |||
1172 | /* Character (0x37): | ||
1173 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1174 | +----------------+ | ||
1175 | | | | ||
1176 | | **** | | ||
1177 | | * | | ||
1178 | | * | | ||
1179 | | * | | ||
1180 | | * | | ||
1181 | | * | | ||
1182 | | | | ||
1183 | +----------------+ */ | ||
1184 | 0x0000, | ||
1185 | 0x7800, | ||
1186 | 0x0800, | ||
1187 | 0x1000, | ||
1188 | 0x1000, | ||
1189 | 0x2000, | ||
1190 | 0x2000, | ||
1191 | 0x0000, | ||
1192 | |||
1193 | /* Character (0x38): | ||
1194 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1195 | +----------------+ | ||
1196 | | | | ||
1197 | | ** | | ||
1198 | | * * | | ||
1199 | | ** | | ||
1200 | | * * | | ||
1201 | | * * | | ||
1202 | | ** | | ||
1203 | | | | ||
1204 | +----------------+ */ | ||
1205 | 0x0000, | ||
1206 | 0x3000, | ||
1207 | 0x4800, | ||
1208 | 0x3000, | ||
1209 | 0x4800, | ||
1210 | 0x4800, | ||
1211 | 0x3000, | ||
1212 | 0x0000, | ||
1213 | |||
1214 | /* Character (0x39): | ||
1215 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1216 | +----------------+ | ||
1217 | | | | ||
1218 | | ** | | ||
1219 | | * * | | ||
1220 | | * ** | | ||
1221 | | * * | | ||
1222 | | * | | ||
1223 | | ** | | ||
1224 | | | | ||
1225 | +----------------+ */ | ||
1226 | 0x0000, | ||
1227 | 0x3000, | ||
1228 | 0x4800, | ||
1229 | 0x5800, | ||
1230 | 0x2800, | ||
1231 | 0x0800, | ||
1232 | 0x3000, | ||
1233 | 0x0000, | ||
1234 | |||
1235 | /* Character (0x3a): | ||
1236 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1237 | +----------------+ | ||
1238 | | | | ||
1239 | | ** | | ||
1240 | | ** | | ||
1241 | | | | ||
1242 | | ** | | ||
1243 | | ** | | ||
1244 | | | | ||
1245 | | | | ||
1246 | +----------------+ */ | ||
1247 | 0x0000, | ||
1248 | 0x3000, | ||
1249 | 0x3000, | ||
1250 | 0x0000, | ||
1251 | 0x3000, | ||
1252 | 0x3000, | ||
1253 | 0x0000, | ||
1254 | 0x0000, | ||
1255 | |||
1256 | /* Character (0x3b): | ||
1257 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1258 | +----------------+ | ||
1259 | | | | ||
1260 | | ** | | ||
1261 | | ** | | ||
1262 | | | | ||
1263 | | ** | | ||
1264 | | * | | ||
1265 | | * | | ||
1266 | | | | ||
1267 | +----------------+ */ | ||
1268 | 0x0000, | ||
1269 | 0x3000, | ||
1270 | 0x3000, | ||
1271 | 0x0000, | ||
1272 | 0x3000, | ||
1273 | 0x2000, | ||
1274 | 0x4000, | ||
1275 | 0x0000, | ||
1276 | |||
1277 | /* Character (0x3c): | ||
1278 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1279 | +----------------+ | ||
1280 | | | | ||
1281 | | * | | ||
1282 | | * | | ||
1283 | | * | | ||
1284 | | * | | ||
1285 | | * | | ||
1286 | | * | | ||
1287 | | | | ||
1288 | +----------------+ */ | ||
1289 | 0x0000, | ||
1290 | 0x1000, | ||
1291 | 0x2000, | ||
1292 | 0x4000, | ||
1293 | 0x4000, | ||
1294 | 0x2000, | ||
1295 | 0x1000, | ||
1296 | 0x0000, | ||
1297 | |||
1298 | /* Character (0x3d): | ||
1299 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1300 | +----------------+ | ||
1301 | | | | ||
1302 | | | | ||
1303 | | *** | | ||
1304 | | | | ||
1305 | | *** | | ||
1306 | | | | ||
1307 | | | | ||
1308 | | | | ||
1309 | +----------------+ */ | ||
1310 | 0x0000, | ||
1311 | 0x0000, | ||
1312 | 0x7000, | ||
1313 | 0x0000, | ||
1314 | 0x7000, | ||
1315 | 0x0000, | ||
1316 | 0x0000, | ||
1317 | 0x0000, | ||
1318 | |||
1319 | /* Character (0x3e): | ||
1320 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1321 | +----------------+ | ||
1322 | | | | ||
1323 | | * | | ||
1324 | | * | | ||
1325 | | * | | ||
1326 | | * | | ||
1327 | | * | | ||
1328 | | * | | ||
1329 | | | | ||
1330 | +----------------+ */ | ||
1331 | 0x0000, | ||
1332 | 0x4000, | ||
1333 | 0x2000, | ||
1334 | 0x1000, | ||
1335 | 0x1000, | ||
1336 | 0x2000, | ||
1337 | 0x4000, | ||
1338 | 0x0000, | ||
1339 | |||
1340 | /* Character (0x3f): | ||
1341 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1342 | +----------------+ | ||
1343 | | | | ||
1344 | | * | | ||
1345 | | * * | | ||
1346 | | * | | ||
1347 | | * | | ||
1348 | | | | ||
1349 | | * | | ||
1350 | | | | ||
1351 | +----------------+ */ | ||
1352 | 0x0000, | ||
1353 | 0x2000, | ||
1354 | 0x5000, | ||
1355 | 0x1000, | ||
1356 | 0x2000, | ||
1357 | 0x0000, | ||
1358 | 0x2000, | ||
1359 | 0x0000, | ||
1360 | |||
1361 | /* Character (0x40): | ||
1362 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1363 | +----------------+ | ||
1364 | | ** | | ||
1365 | | * * | | ||
1366 | |* ** | | ||
1367 | |* * * | | ||
1368 | |* * * | | ||
1369 | |* * | | ||
1370 | | * | | ||
1371 | | ** | | ||
1372 | +----------------+ */ | ||
1373 | 0x3000, | ||
1374 | 0x4800, | ||
1375 | 0x9800, | ||
1376 | 0xa800, | ||
1377 | 0xa800, | ||
1378 | 0x9000, | ||
1379 | 0x4000, | ||
1380 | 0x3000, | ||
1381 | |||
1382 | /* Character (0x41): | ||
1383 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1384 | +----------------+ | ||
1385 | | | | ||
1386 | | ** | | ||
1387 | | * * | | ||
1388 | | * * | | ||
1389 | | **** | | ||
1390 | | * * | | ||
1391 | | * * | | ||
1392 | | | | ||
1393 | +----------------+ */ | ||
1394 | 0x0000, | ||
1395 | 0x3000, | ||
1396 | 0x4800, | ||
1397 | 0x4800, | ||
1398 | 0x7800, | ||
1399 | 0x4800, | ||
1400 | 0x4800, | ||
1401 | 0x0000, | ||
1402 | |||
1403 | /* Character (0x42): | ||
1404 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1405 | +----------------+ | ||
1406 | | | | ||
1407 | | *** | | ||
1408 | | * * | | ||
1409 | | *** | | ||
1410 | | * * | | ||
1411 | | * * | | ||
1412 | | *** | | ||
1413 | | | | ||
1414 | +----------------+ */ | ||
1415 | 0x0000, | ||
1416 | 0x7000, | ||
1417 | 0x4800, | ||
1418 | 0x7000, | ||
1419 | 0x4800, | ||
1420 | 0x4800, | ||
1421 | 0x7000, | ||
1422 | 0x0000, | ||
1423 | |||
1424 | /* Character (0x43): | ||
1425 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1426 | +----------------+ | ||
1427 | | | | ||
1428 | | ** | | ||
1429 | | * * | | ||
1430 | | * | | ||
1431 | | * | | ||
1432 | | * * | | ||
1433 | | ** | | ||
1434 | | | | ||
1435 | +----------------+ */ | ||
1436 | 0x0000, | ||
1437 | 0x3000, | ||
1438 | 0x4800, | ||
1439 | 0x4000, | ||
1440 | 0x4000, | ||
1441 | 0x4800, | ||
1442 | 0x3000, | ||
1443 | 0x0000, | ||
1444 | |||
1445 | /* Character (0x44): | ||
1446 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1447 | +----------------+ | ||
1448 | | | | ||
1449 | | *** | | ||
1450 | | * * | | ||
1451 | | * * | | ||
1452 | | * * | | ||
1453 | | * * | | ||
1454 | | *** | | ||
1455 | | | | ||
1456 | +----------------+ */ | ||
1457 | 0x0000, | ||
1458 | 0x7000, | ||
1459 | 0x4800, | ||
1460 | 0x4800, | ||
1461 | 0x4800, | ||
1462 | 0x4800, | ||
1463 | 0x7000, | ||
1464 | 0x0000, | ||
1465 | |||
1466 | /* Character (0x45): | ||
1467 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1468 | +----------------+ | ||
1469 | | | | ||
1470 | | **** | | ||
1471 | | * | | ||
1472 | | *** | | ||
1473 | | * | | ||
1474 | | * | | ||
1475 | | **** | | ||
1476 | | | | ||
1477 | +----------------+ */ | ||
1478 | 0x0000, | ||
1479 | 0x7800, | ||
1480 | 0x4000, | ||
1481 | 0x7000, | ||
1482 | 0x4000, | ||
1483 | 0x4000, | ||
1484 | 0x7800, | ||
1485 | 0x0000, | ||
1486 | |||
1487 | /* Character (0x46): | ||
1488 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1489 | +----------------+ | ||
1490 | | | | ||
1491 | | **** | | ||
1492 | | * | | ||
1493 | | *** | | ||
1494 | | * | | ||
1495 | | * | | ||
1496 | | * | | ||
1497 | | | | ||
1498 | +----------------+ */ | ||
1499 | 0x0000, | ||
1500 | 0x7800, | ||
1501 | 0x4000, | ||
1502 | 0x7000, | ||
1503 | 0x4000, | ||
1504 | 0x4000, | ||
1505 | 0x4000, | ||
1506 | 0x0000, | ||
1507 | |||
1508 | /* Character (0x47): | ||
1509 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1510 | +----------------+ | ||
1511 | | | | ||
1512 | | ** | | ||
1513 | | * * | | ||
1514 | | * | | ||
1515 | | * ** | | ||
1516 | | * * | | ||
1517 | | ** | | ||
1518 | | | | ||
1519 | +----------------+ */ | ||
1520 | 0x0000, | ||
1521 | 0x3000, | ||
1522 | 0x4800, | ||
1523 | 0x4000, | ||
1524 | 0x5800, | ||
1525 | 0x4800, | ||
1526 | 0x3000, | ||
1527 | 0x0000, | ||
1528 | |||
1529 | /* Character (0x48): | ||
1530 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1531 | +----------------+ | ||
1532 | | | | ||
1533 | | * * | | ||
1534 | | * * | | ||
1535 | | **** | | ||
1536 | | * * | | ||
1537 | | * * | | ||
1538 | | * * | | ||
1539 | | | | ||
1540 | +----------------+ */ | ||
1541 | 0x0000, | ||
1542 | 0x4800, | ||
1543 | 0x4800, | ||
1544 | 0x7800, | ||
1545 | 0x4800, | ||
1546 | 0x4800, | ||
1547 | 0x4800, | ||
1548 | 0x0000, | ||
1549 | |||
1550 | /* Character (0x49): | ||
1551 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1552 | +----------------+ | ||
1553 | | | | ||
1554 | | *** | | ||
1555 | | * | | ||
1556 | | * | | ||
1557 | | * | | ||
1558 | | * | | ||
1559 | | *** | | ||
1560 | | | | ||
1561 | +----------------+ */ | ||
1562 | 0x0000, | ||
1563 | 0x7000, | ||
1564 | 0x2000, | ||
1565 | 0x2000, | ||
1566 | 0x2000, | ||
1567 | 0x2000, | ||
1568 | 0x7000, | ||
1569 | 0x0000, | ||
1570 | |||
1571 | /* Character (0x4a): | ||
1572 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1573 | +----------------+ | ||
1574 | | | | ||
1575 | | *** | | ||
1576 | | * | | ||
1577 | | * | | ||
1578 | | * | | ||
1579 | | * * | | ||
1580 | | ** | | ||
1581 | | | | ||
1582 | +----------------+ */ | ||
1583 | 0x0000, | ||
1584 | 0x3800, | ||
1585 | 0x0800, | ||
1586 | 0x0800, | ||
1587 | 0x0800, | ||
1588 | 0x4800, | ||
1589 | 0x3000, | ||
1590 | 0x0000, | ||
1591 | |||
1592 | /* Character (0x4b): | ||
1593 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1594 | +----------------+ | ||
1595 | | | | ||
1596 | | * * | | ||
1597 | | * * | | ||
1598 | | ** | | ||
1599 | | * * | | ||
1600 | | * * | | ||
1601 | | * * | | ||
1602 | | | | ||
1603 | +----------------+ */ | ||
1604 | 0x0000, | ||
1605 | 0x4800, | ||
1606 | 0x5000, | ||
1607 | 0x6000, | ||
1608 | 0x5000, | ||
1609 | 0x5000, | ||
1610 | 0x4800, | ||
1611 | 0x0000, | ||
1612 | |||
1613 | /* Character (0x4c): | ||
1614 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1615 | +----------------+ | ||
1616 | | | | ||
1617 | | * | | ||
1618 | | * | | ||
1619 | | * | | ||
1620 | | * | | ||
1621 | | * | | ||
1622 | | *** | | ||
1623 | | | | ||
1624 | +----------------+ */ | ||
1625 | 0x0000, | ||
1626 | 0x4000, | ||
1627 | 0x4000, | ||
1628 | 0x4000, | ||
1629 | 0x4000, | ||
1630 | 0x4000, | ||
1631 | 0x7000, | ||
1632 | 0x0000, | ||
1633 | |||
1634 | /* Character (0x4d): | ||
1635 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1636 | +----------------+ | ||
1637 | | | | ||
1638 | | * * | | ||
1639 | | **** | | ||
1640 | | **** | | ||
1641 | | * * | | ||
1642 | | * * | | ||
1643 | | * * | | ||
1644 | | | | ||
1645 | +----------------+ */ | ||
1646 | 0x0000, | ||
1647 | 0x4800, | ||
1648 | 0x7800, | ||
1649 | 0x7800, | ||
1650 | 0x4800, | ||
1651 | 0x4800, | ||
1652 | 0x4800, | ||
1653 | 0x0000, | ||
1654 | |||
1655 | /* Character (0x4e): | ||
1656 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1657 | +----------------+ | ||
1658 | | | | ||
1659 | | * * | | ||
1660 | | ** * | | ||
1661 | | **** | | ||
1662 | | * ** | | ||
1663 | | * ** | | ||
1664 | | * * | | ||
1665 | | | | ||
1666 | +----------------+ */ | ||
1667 | 0x0000, | ||
1668 | 0x4800, | ||
1669 | 0x6800, | ||
1670 | 0x7800, | ||
1671 | 0x5800, | ||
1672 | 0x5800, | ||
1673 | 0x4800, | ||
1674 | 0x0000, | ||
1675 | |||
1676 | /* Character (0x4f): | ||
1677 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1678 | +----------------+ | ||
1679 | | | | ||
1680 | | ** | | ||
1681 | | * * | | ||
1682 | | * * | | ||
1683 | | * * | | ||
1684 | | * * | | ||
1685 | | ** | | ||
1686 | | | | ||
1687 | +----------------+ */ | ||
1688 | 0x0000, | ||
1689 | 0x3000, | ||
1690 | 0x4800, | ||
1691 | 0x4800, | ||
1692 | 0x4800, | ||
1693 | 0x4800, | ||
1694 | 0x3000, | ||
1695 | 0x0000, | ||
1696 | |||
1697 | /* Character (0x50): | ||
1698 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1699 | +----------------+ | ||
1700 | | | | ||
1701 | | *** | | ||
1702 | | * * | | ||
1703 | | * * | | ||
1704 | | *** | | ||
1705 | | * | | ||
1706 | | * | | ||
1707 | | | | ||
1708 | +----------------+ */ | ||
1709 | 0x0000, | ||
1710 | 0x7000, | ||
1711 | 0x4800, | ||
1712 | 0x4800, | ||
1713 | 0x7000, | ||
1714 | 0x4000, | ||
1715 | 0x4000, | ||
1716 | 0x0000, | ||
1717 | |||
1718 | /* Character (0x51): | ||
1719 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1720 | +----------------+ | ||
1721 | | | | ||
1722 | | ** | | ||
1723 | | * * | | ||
1724 | | * * | | ||
1725 | | ** * | | ||
1726 | | * ** | | ||
1727 | | ** | | ||
1728 | | * | | ||
1729 | +----------------+ */ | ||
1730 | 0x0000, | ||
1731 | 0x3000, | ||
1732 | 0x4800, | ||
1733 | 0x4800, | ||
1734 | 0x6800, | ||
1735 | 0x5800, | ||
1736 | 0x3000, | ||
1737 | 0x0800, | ||
1738 | |||
1739 | /* Character (0x52): | ||
1740 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1741 | +----------------+ | ||
1742 | | | | ||
1743 | | *** | | ||
1744 | | * * | | ||
1745 | | * * | | ||
1746 | | *** | | ||
1747 | | * ** | | ||
1748 | | * * | | ||
1749 | | | | ||
1750 | +----------------+ */ | ||
1751 | 0x0000, | ||
1752 | 0x7000, | ||
1753 | 0x4800, | ||
1754 | 0x4800, | ||
1755 | 0x7000, | ||
1756 | 0x5800, | ||
1757 | 0x4800, | ||
1758 | 0x0000, | ||
1759 | |||
1760 | /* Character (0x53): | ||
1761 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1762 | +----------------+ | ||
1763 | | | | ||
1764 | | ** | | ||
1765 | | * * | | ||
1766 | | * | | ||
1767 | | * | | ||
1768 | | * * | | ||
1769 | | ** | | ||
1770 | | | | ||
1771 | +----------------+ */ | ||
1772 | 0x0000, | ||
1773 | 0x3000, | ||
1774 | 0x4800, | ||
1775 | 0x2000, | ||
1776 | 0x1000, | ||
1777 | 0x4800, | ||
1778 | 0x3000, | ||
1779 | 0x0000, | ||
1780 | |||
1781 | /* Character (0x54): | ||
1782 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1783 | +----------------+ | ||
1784 | | | | ||
1785 | |***** | | ||
1786 | | * | | ||
1787 | | * | | ||
1788 | | * | | ||
1789 | | * | | ||
1790 | | * | | ||
1791 | | | | ||
1792 | +----------------+ */ | ||
1793 | 0x0000, | ||
1794 | 0xf800, | ||
1795 | 0x2000, | ||
1796 | 0x2000, | ||
1797 | 0x2000, | ||
1798 | 0x2000, | ||
1799 | 0x2000, | ||
1800 | 0x0000, | ||
1801 | |||
1802 | /* Character (0x55): | ||
1803 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1804 | +----------------+ | ||
1805 | | | | ||
1806 | | * * | | ||
1807 | | * * | | ||
1808 | | * * | | ||
1809 | | * * | | ||
1810 | | * * | | ||
1811 | | ** | | ||
1812 | | | | ||
1813 | +----------------+ */ | ||
1814 | 0x0000, | ||
1815 | 0x4800, | ||
1816 | 0x4800, | ||
1817 | 0x4800, | ||
1818 | 0x4800, | ||
1819 | 0x4800, | ||
1820 | 0x3000, | ||
1821 | 0x0000, | ||
1822 | |||
1823 | /* Character (0x56): | ||
1824 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1825 | +----------------+ | ||
1826 | | | | ||
1827 | | * * | | ||
1828 | | * * | | ||
1829 | | * * | | ||
1830 | | * * | | ||
1831 | | ** | | ||
1832 | | ** | | ||
1833 | | | | ||
1834 | +----------------+ */ | ||
1835 | 0x0000, | ||
1836 | 0x4800, | ||
1837 | 0x4800, | ||
1838 | 0x4800, | ||
1839 | 0x4800, | ||
1840 | 0x3000, | ||
1841 | 0x3000, | ||
1842 | 0x0000, | ||
1843 | |||
1844 | /* Character (0x57): | ||
1845 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1846 | +----------------+ | ||
1847 | | | | ||
1848 | | * * | | ||
1849 | | * * | | ||
1850 | | * * | | ||
1851 | | **** | | ||
1852 | | **** | | ||
1853 | | * * | | ||
1854 | | | | ||
1855 | +----------------+ */ | ||
1856 | 0x0000, | ||
1857 | 0x4800, | ||
1858 | 0x4800, | ||
1859 | 0x4800, | ||
1860 | 0x7800, | ||
1861 | 0x7800, | ||
1862 | 0x4800, | ||
1863 | 0x0000, | ||
1864 | |||
1865 | /* Character (0x58): | ||
1866 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1867 | +----------------+ | ||
1868 | | | | ||
1869 | | * * | | ||
1870 | | * * | | ||
1871 | | ** | | ||
1872 | | ** | | ||
1873 | | * * | | ||
1874 | | * * | | ||
1875 | | | | ||
1876 | +----------------+ */ | ||
1877 | 0x0000, | ||
1878 | 0x4800, | ||
1879 | 0x4800, | ||
1880 | 0x3000, | ||
1881 | 0x3000, | ||
1882 | 0x4800, | ||
1883 | 0x4800, | ||
1884 | 0x0000, | ||
1885 | |||
1886 | /* Character (0x59): | ||
1887 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1888 | +----------------+ | ||
1889 | | | | ||
1890 | |* * | | ||
1891 | |* * | | ||
1892 | | * * | | ||
1893 | | * | | ||
1894 | | * | | ||
1895 | | * | | ||
1896 | | | | ||
1897 | +----------------+ */ | ||
1898 | 0x0000, | ||
1899 | 0x8800, | ||
1900 | 0x8800, | ||
1901 | 0x5000, | ||
1902 | 0x2000, | ||
1903 | 0x2000, | ||
1904 | 0x2000, | ||
1905 | 0x0000, | ||
1906 | |||
1907 | /* Character (0x5a): | ||
1908 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1909 | +----------------+ | ||
1910 | | | | ||
1911 | | **** | | ||
1912 | | * | | ||
1913 | | * | | ||
1914 | | * | | ||
1915 | | * | | ||
1916 | | **** | | ||
1917 | | | | ||
1918 | +----------------+ */ | ||
1919 | 0x0000, | ||
1920 | 0x7800, | ||
1921 | 0x0800, | ||
1922 | 0x1000, | ||
1923 | 0x2000, | ||
1924 | 0x4000, | ||
1925 | 0x7800, | ||
1926 | 0x0000, | ||
1927 | |||
1928 | /* Character (0x5b): | ||
1929 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1930 | +----------------+ | ||
1931 | | | | ||
1932 | | *** | | ||
1933 | | * | | ||
1934 | | * | | ||
1935 | | * | | ||
1936 | | * | | ||
1937 | | *** | | ||
1938 | | | | ||
1939 | +----------------+ */ | ||
1940 | 0x0000, | ||
1941 | 0x7000, | ||
1942 | 0x4000, | ||
1943 | 0x4000, | ||
1944 | 0x4000, | ||
1945 | 0x4000, | ||
1946 | 0x7000, | ||
1947 | 0x0000, | ||
1948 | |||
1949 | /* Character (0x5c): | ||
1950 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1951 | +----------------+ | ||
1952 | | | | ||
1953 | | * | | ||
1954 | | * | | ||
1955 | | * | | ||
1956 | | * | | ||
1957 | | * | | ||
1958 | | * | | ||
1959 | | | | ||
1960 | +----------------+ */ | ||
1961 | 0x0000, | ||
1962 | 0x4000, | ||
1963 | 0x4000, | ||
1964 | 0x2000, | ||
1965 | 0x1000, | ||
1966 | 0x0800, | ||
1967 | 0x0800, | ||
1968 | 0x0000, | ||
1969 | |||
1970 | /* Character (0x5d): | ||
1971 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1972 | +----------------+ | ||
1973 | | | | ||
1974 | | *** | | ||
1975 | | * | | ||
1976 | | * | | ||
1977 | | * | | ||
1978 | | * | | ||
1979 | | *** | | ||
1980 | | | | ||
1981 | +----------------+ */ | ||
1982 | 0x0000, | ||
1983 | 0x7000, | ||
1984 | 0x1000, | ||
1985 | 0x1000, | ||
1986 | 0x1000, | ||
1987 | 0x1000, | ||
1988 | 0x7000, | ||
1989 | 0x0000, | ||
1990 | |||
1991 | /* Character (0x5e): | ||
1992 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
1993 | +----------------+ | ||
1994 | | | | ||
1995 | | * | | ||
1996 | | * * | | ||
1997 | | * * | | ||
1998 | | | | ||
1999 | | | | ||
2000 | | | | ||
2001 | | | | ||
2002 | +----------------+ */ | ||
2003 | 0x0000, | ||
2004 | 0x2000, | ||
2005 | 0x5000, | ||
2006 | 0x5000, | ||
2007 | 0x0000, | ||
2008 | 0x0000, | ||
2009 | 0x0000, | ||
2010 | 0x0000, | ||
2011 | |||
2012 | /* Character (0x5f): | ||
2013 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2014 | +----------------+ | ||
2015 | | | | ||
2016 | | | | ||
2017 | | | | ||
2018 | | | | ||
2019 | | | | ||
2020 | | | | ||
2021 | | | | ||
2022 | | **** | | ||
2023 | +----------------+ */ | ||
2024 | 0x0000, | ||
2025 | 0x0000, | ||
2026 | 0x0000, | ||
2027 | 0x0000, | ||
2028 | 0x0000, | ||
2029 | 0x0000, | ||
2030 | 0x0000, | ||
2031 | 0x7800, | ||
2032 | |||
2033 | /* Character (0x60): | ||
2034 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2035 | +----------------+ | ||
2036 | | | | ||
2037 | | ** | | ||
2038 | | * | | ||
2039 | | * | | ||
2040 | | | | ||
2041 | | | | ||
2042 | | | | ||
2043 | | | | ||
2044 | +----------------+ */ | ||
2045 | 0x0000, | ||
2046 | 0x6000, | ||
2047 | 0x4000, | ||
2048 | 0x2000, | ||
2049 | 0x0000, | ||
2050 | 0x0000, | ||
2051 | 0x0000, | ||
2052 | 0x0000, | ||
2053 | |||
2054 | /* Character (0x61): | ||
2055 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2056 | +----------------+ | ||
2057 | | | | ||
2058 | | | | ||
2059 | | | | ||
2060 | | * * | | ||
2061 | | * ** | | ||
2062 | | * ** | | ||
2063 | | * * | | ||
2064 | | | | ||
2065 | +----------------+ */ | ||
2066 | 0x0000, | ||
2067 | 0x0000, | ||
2068 | 0x0000, | ||
2069 | 0x2800, | ||
2070 | 0x5800, | ||
2071 | 0x5800, | ||
2072 | 0x2800, | ||
2073 | 0x0000, | ||
2074 | |||
2075 | /* Character (0x62): | ||
2076 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2077 | +----------------+ | ||
2078 | | | | ||
2079 | | * | | ||
2080 | | * | | ||
2081 | | *** | | ||
2082 | | * * | | ||
2083 | | * * | | ||
2084 | | *** | | ||
2085 | | | | ||
2086 | +----------------+ */ | ||
2087 | 0x0000, | ||
2088 | 0x4000, | ||
2089 | 0x4000, | ||
2090 | 0x7000, | ||
2091 | 0x4800, | ||
2092 | 0x4800, | ||
2093 | 0x7000, | ||
2094 | 0x0000, | ||
2095 | |||
2096 | /* Character (0x63): | ||
2097 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2098 | +----------------+ | ||
2099 | | | | ||
2100 | | | | ||
2101 | | | | ||
2102 | | ** | | ||
2103 | | * | | ||
2104 | | * | | ||
2105 | | ** | | ||
2106 | | | | ||
2107 | +----------------+ */ | ||
2108 | 0x0000, | ||
2109 | 0x0000, | ||
2110 | 0x0000, | ||
2111 | 0x3000, | ||
2112 | 0x4000, | ||
2113 | 0x4000, | ||
2114 | 0x3000, | ||
2115 | 0x0000, | ||
2116 | |||
2117 | /* Character (0x64): | ||
2118 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2119 | +----------------+ | ||
2120 | | | | ||
2121 | | * | | ||
2122 | | * | | ||
2123 | | * * | | ||
2124 | | * ** | | ||
2125 | | * ** | | ||
2126 | | * * | | ||
2127 | | | | ||
2128 | +----------------+ */ | ||
2129 | 0x0000, | ||
2130 | 0x0800, | ||
2131 | 0x0800, | ||
2132 | 0x2800, | ||
2133 | 0x5800, | ||
2134 | 0x5800, | ||
2135 | 0x2800, | ||
2136 | 0x0000, | ||
2137 | |||
2138 | /* Character (0x65): | ||
2139 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2140 | +----------------+ | ||
2141 | | | | ||
2142 | | | | ||
2143 | | | | ||
2144 | | ** | | ||
2145 | | **** | | ||
2146 | | * | | ||
2147 | | ** | | ||
2148 | | | | ||
2149 | +----------------+ */ | ||
2150 | 0x0000, | ||
2151 | 0x0000, | ||
2152 | 0x0000, | ||
2153 | 0x3000, | ||
2154 | 0x7800, | ||
2155 | 0x4000, | ||
2156 | 0x3000, | ||
2157 | 0x0000, | ||
2158 | |||
2159 | /* Character (0x66): | ||
2160 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2161 | +----------------+ | ||
2162 | | | | ||
2163 | | * | | ||
2164 | | * * | | ||
2165 | | * | | ||
2166 | | *** | | ||
2167 | | * | | ||
2168 | | * | | ||
2169 | | | | ||
2170 | +----------------+ */ | ||
2171 | 0x0000, | ||
2172 | 0x1000, | ||
2173 | 0x2800, | ||
2174 | 0x2000, | ||
2175 | 0x7000, | ||
2176 | 0x2000, | ||
2177 | 0x2000, | ||
2178 | 0x0000, | ||
2179 | |||
2180 | /* Character (0x67): | ||
2181 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2182 | +----------------+ | ||
2183 | | | | ||
2184 | | | | ||
2185 | | | | ||
2186 | | ** | | ||
2187 | | * * | | ||
2188 | | *** | | ||
2189 | | * | | ||
2190 | | ** | | ||
2191 | +----------------+ */ | ||
2192 | 0x0000, | ||
2193 | 0x0000, | ||
2194 | 0x0000, | ||
2195 | 0x3000, | ||
2196 | 0x4800, | ||
2197 | 0x3800, | ||
2198 | 0x0800, | ||
2199 | 0x3000, | ||
2200 | |||
2201 | /* Character (0x68): | ||
2202 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2203 | +----------------+ | ||
2204 | | | | ||
2205 | | * | | ||
2206 | | * | | ||
2207 | | *** | | ||
2208 | | * * | | ||
2209 | | * * | | ||
2210 | | * * | | ||
2211 | | | | ||
2212 | +----------------+ */ | ||
2213 | 0x0000, | ||
2214 | 0x4000, | ||
2215 | 0x4000, | ||
2216 | 0x7000, | ||
2217 | 0x4800, | ||
2218 | 0x4800, | ||
2219 | 0x4800, | ||
2220 | 0x0000, | ||
2221 | |||
2222 | /* Character (0x69): | ||
2223 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2224 | +----------------+ | ||
2225 | | | | ||
2226 | | * | | ||
2227 | | | | ||
2228 | | ** | | ||
2229 | | * | | ||
2230 | | * | | ||
2231 | | *** | | ||
2232 | | | | ||
2233 | +----------------+ */ | ||
2234 | 0x0000, | ||
2235 | 0x2000, | ||
2236 | 0x0000, | ||
2237 | 0x6000, | ||
2238 | 0x2000, | ||
2239 | 0x2000, | ||
2240 | 0x7000, | ||
2241 | 0x0000, | ||
2242 | |||
2243 | /* Character (0x6a): | ||
2244 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2245 | +----------------+ | ||
2246 | | | | ||
2247 | | * | | ||
2248 | | | | ||
2249 | | * | | ||
2250 | | * | | ||
2251 | | * | | ||
2252 | | * * | | ||
2253 | | * | | ||
2254 | +----------------+ */ | ||
2255 | 0x0000, | ||
2256 | 0x1000, | ||
2257 | 0x0000, | ||
2258 | 0x1000, | ||
2259 | 0x1000, | ||
2260 | 0x1000, | ||
2261 | 0x5000, | ||
2262 | 0x2000, | ||
2263 | |||
2264 | /* Character (0x6b): | ||
2265 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2266 | +----------------+ | ||
2267 | | | | ||
2268 | | * | | ||
2269 | | * | | ||
2270 | | * * | | ||
2271 | | *** | | ||
2272 | | * * | | ||
2273 | | * * | | ||
2274 | | | | ||
2275 | +----------------+ */ | ||
2276 | 0x0000, | ||
2277 | 0x4000, | ||
2278 | 0x4000, | ||
2279 | 0x4800, | ||
2280 | 0x7000, | ||
2281 | 0x4800, | ||
2282 | 0x4800, | ||
2283 | 0x0000, | ||
2284 | |||
2285 | /* Character (0x6c): | ||
2286 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2287 | +----------------+ | ||
2288 | | | | ||
2289 | | ** | | ||
2290 | | * | | ||
2291 | | * | | ||
2292 | | * | | ||
2293 | | * | | ||
2294 | | *** | | ||
2295 | | | | ||
2296 | +----------------+ */ | ||
2297 | 0x0000, | ||
2298 | 0x6000, | ||
2299 | 0x2000, | ||
2300 | 0x2000, | ||
2301 | 0x2000, | ||
2302 | 0x2000, | ||
2303 | 0x7000, | ||
2304 | 0x0000, | ||
2305 | |||
2306 | /* Character (0x6d): | ||
2307 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2308 | +----------------+ | ||
2309 | | | | ||
2310 | | | | ||
2311 | | | | ||
2312 | | * * | | ||
2313 | |* * * | | ||
2314 | |* * * | | ||
2315 | |* * | | ||
2316 | | | | ||
2317 | +----------------+ */ | ||
2318 | 0x0000, | ||
2319 | 0x0000, | ||
2320 | 0x0000, | ||
2321 | 0x5000, | ||
2322 | 0xa800, | ||
2323 | 0xa800, | ||
2324 | 0x8800, | ||
2325 | 0x0000, | ||
2326 | |||
2327 | /* Character (0x6e): | ||
2328 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2329 | +----------------+ | ||
2330 | | | | ||
2331 | | | | ||
2332 | | | | ||
2333 | | *** | | ||
2334 | | * * | | ||
2335 | | * * | | ||
2336 | | * * | | ||
2337 | | | | ||
2338 | +----------------+ */ | ||
2339 | 0x0000, | ||
2340 | 0x0000, | ||
2341 | 0x0000, | ||
2342 | 0x7000, | ||
2343 | 0x4800, | ||
2344 | 0x4800, | ||
2345 | 0x4800, | ||
2346 | 0x0000, | ||
2347 | |||
2348 | /* Character (0x6f): | ||
2349 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2350 | +----------------+ | ||
2351 | | | | ||
2352 | | | | ||
2353 | | | | ||
2354 | | ** | | ||
2355 | | * * | | ||
2356 | | * * | | ||
2357 | | ** | | ||
2358 | | | | ||
2359 | +----------------+ */ | ||
2360 | 0x0000, | ||
2361 | 0x0000, | ||
2362 | 0x0000, | ||
2363 | 0x3000, | ||
2364 | 0x4800, | ||
2365 | 0x4800, | ||
2366 | 0x3000, | ||
2367 | 0x0000, | ||
2368 | |||
2369 | /* Character (0x70): | ||
2370 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2371 | +----------------+ | ||
2372 | | | | ||
2373 | | | | ||
2374 | | | | ||
2375 | | *** | | ||
2376 | | * * | | ||
2377 | | *** | | ||
2378 | | * | | ||
2379 | | * | | ||
2380 | +----------------+ */ | ||
2381 | 0x0000, | ||
2382 | 0x0000, | ||
2383 | 0x0000, | ||
2384 | 0x7000, | ||
2385 | 0x4800, | ||
2386 | 0x7000, | ||
2387 | 0x4000, | ||
2388 | 0x4000, | ||
2389 | |||
2390 | /* Character (0x71): | ||
2391 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2392 | +----------------+ | ||
2393 | | | | ||
2394 | | | | ||
2395 | | | | ||
2396 | | *** | | ||
2397 | | * * | | ||
2398 | | *** | | ||
2399 | | * | | ||
2400 | | * | | ||
2401 | +----------------+ */ | ||
2402 | 0x0000, | ||
2403 | 0x0000, | ||
2404 | 0x0000, | ||
2405 | 0x3800, | ||
2406 | 0x4800, | ||
2407 | 0x3800, | ||
2408 | 0x0800, | ||
2409 | 0x0800, | ||
2410 | |||
2411 | /* Character (0x72): | ||
2412 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2413 | +----------------+ | ||
2414 | | | | ||
2415 | | | | ||
2416 | | | | ||
2417 | | * * | | ||
2418 | | ** * | | ||
2419 | | * | | ||
2420 | | * | | ||
2421 | | | | ||
2422 | +----------------+ */ | ||
2423 | 0x0000, | ||
2424 | 0x0000, | ||
2425 | 0x0000, | ||
2426 | 0x5000, | ||
2427 | 0x6800, | ||
2428 | 0x4000, | ||
2429 | 0x4000, | ||
2430 | 0x0000, | ||
2431 | |||
2432 | /* Character (0x73): | ||
2433 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2434 | +----------------+ | ||
2435 | | | | ||
2436 | | | | ||
2437 | | | | ||
2438 | | *** | | ||
2439 | | ** | | ||
2440 | | * | | ||
2441 | | *** | | ||
2442 | | | | ||
2443 | +----------------+ */ | ||
2444 | 0x0000, | ||
2445 | 0x0000, | ||
2446 | 0x0000, | ||
2447 | 0x7000, | ||
2448 | 0x6000, | ||
2449 | 0x1000, | ||
2450 | 0x7000, | ||
2451 | 0x0000, | ||
2452 | |||
2453 | /* Character (0x74): | ||
2454 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2455 | +----------------+ | ||
2456 | | | | ||
2457 | | * | | ||
2458 | | * | | ||
2459 | | *** | | ||
2460 | | * | | ||
2461 | | * * | | ||
2462 | | * | | ||
2463 | | | | ||
2464 | +----------------+ */ | ||
2465 | 0x0000, | ||
2466 | 0x2000, | ||
2467 | 0x2000, | ||
2468 | 0x7000, | ||
2469 | 0x2000, | ||
2470 | 0x2800, | ||
2471 | 0x1000, | ||
2472 | 0x0000, | ||
2473 | |||
2474 | /* Character (0x75): | ||
2475 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2476 | +----------------+ | ||
2477 | | | | ||
2478 | | | | ||
2479 | | | | ||
2480 | | * * | | ||
2481 | | * * | | ||
2482 | | * * | | ||
2483 | | *** | | ||
2484 | | | | ||
2485 | +----------------+ */ | ||
2486 | 0x0000, | ||
2487 | 0x0000, | ||
2488 | 0x0000, | ||
2489 | 0x4800, | ||
2490 | 0x4800, | ||
2491 | 0x4800, | ||
2492 | 0x3800, | ||
2493 | 0x0000, | ||
2494 | |||
2495 | /* Character (0x76): | ||
2496 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2497 | +----------------+ | ||
2498 | | | | ||
2499 | | | | ||
2500 | | | | ||
2501 | | * * | | ||
2502 | | * * | | ||
2503 | | * * | | ||
2504 | | * | | ||
2505 | | | | ||
2506 | +----------------+ */ | ||
2507 | 0x0000, | ||
2508 | 0x0000, | ||
2509 | 0x0000, | ||
2510 | 0x5000, | ||
2511 | 0x5000, | ||
2512 | 0x5000, | ||
2513 | 0x2000, | ||
2514 | 0x0000, | ||
2515 | |||
2516 | /* Character (0x77): | ||
2517 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2518 | +----------------+ | ||
2519 | | | | ||
2520 | | | | ||
2521 | | | | ||
2522 | |* * | | ||
2523 | |* * * | | ||
2524 | |* * * | | ||
2525 | | *** | | ||
2526 | | | | ||
2527 | +----------------+ */ | ||
2528 | 0x0000, | ||
2529 | 0x0000, | ||
2530 | 0x0000, | ||
2531 | 0x8800, | ||
2532 | 0xa800, | ||
2533 | 0xa800, | ||
2534 | 0x7000, | ||
2535 | 0x0000, | ||
2536 | |||
2537 | /* Character (0x78): | ||
2538 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2539 | +----------------+ | ||
2540 | | | | ||
2541 | | | | ||
2542 | | | | ||
2543 | | * * | | ||
2544 | | ** | | ||
2545 | | ** | | ||
2546 | | * * | | ||
2547 | | | | ||
2548 | +----------------+ */ | ||
2549 | 0x0000, | ||
2550 | 0x0000, | ||
2551 | 0x0000, | ||
2552 | 0x4800, | ||
2553 | 0x3000, | ||
2554 | 0x3000, | ||
2555 | 0x4800, | ||
2556 | 0x0000, | ||
2557 | |||
2558 | /* Character (0x79): | ||
2559 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2560 | +----------------+ | ||
2561 | | | | ||
2562 | | | | ||
2563 | | | | ||
2564 | | * * | | ||
2565 | | * * | | ||
2566 | | *** | | ||
2567 | | * * | | ||
2568 | | ** | | ||
2569 | +----------------+ */ | ||
2570 | 0x0000, | ||
2571 | 0x0000, | ||
2572 | 0x0000, | ||
2573 | 0x4800, | ||
2574 | 0x4800, | ||
2575 | 0x3800, | ||
2576 | 0x4800, | ||
2577 | 0x3000, | ||
2578 | |||
2579 | /* Character (0x7a): | ||
2580 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2581 | +----------------+ | ||
2582 | | | | ||
2583 | | | | ||
2584 | | | | ||
2585 | | **** | | ||
2586 | | * | | ||
2587 | | * | | ||
2588 | | **** | | ||
2589 | | | | ||
2590 | +----------------+ */ | ||
2591 | 0x0000, | ||
2592 | 0x0000, | ||
2593 | 0x0000, | ||
2594 | 0x7800, | ||
2595 | 0x1000, | ||
2596 | 0x2000, | ||
2597 | 0x7800, | ||
2598 | 0x0000, | ||
2599 | |||
2600 | /* Character (0x7b): | ||
2601 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2602 | +----------------+ | ||
2603 | | ** | | ||
2604 | | * | | ||
2605 | | * | | ||
2606 | | ** | | ||
2607 | | * | | ||
2608 | | * | | ||
2609 | | ** | | ||
2610 | | | | ||
2611 | +----------------+ */ | ||
2612 | 0x1800, | ||
2613 | 0x2000, | ||
2614 | 0x1000, | ||
2615 | 0x6000, | ||
2616 | 0x1000, | ||
2617 | 0x2000, | ||
2618 | 0x1800, | ||
2619 | 0x0000, | ||
2620 | |||
2621 | /* Character (0x7c): | ||
2622 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2623 | +----------------+ | ||
2624 | | | | ||
2625 | | * | | ||
2626 | | * | | ||
2627 | | * | | ||
2628 | | * | | ||
2629 | | * | | ||
2630 | | * | | ||
2631 | | | | ||
2632 | +----------------+ */ | ||
2633 | 0x0000, | ||
2634 | 0x2000, | ||
2635 | 0x2000, | ||
2636 | 0x2000, | ||
2637 | 0x2000, | ||
2638 | 0x2000, | ||
2639 | 0x2000, | ||
2640 | 0x0000, | ||
2641 | |||
2642 | /* Character (0x7d): | ||
2643 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2644 | +----------------+ | ||
2645 | | ** | | ||
2646 | | * | | ||
2647 | | * | | ||
2648 | | ** | | ||
2649 | | * | | ||
2650 | | * | | ||
2651 | | ** | | ||
2652 | | | | ||
2653 | +----------------+ */ | ||
2654 | 0x6000, | ||
2655 | 0x1000, | ||
2656 | 0x2000, | ||
2657 | 0x1800, | ||
2658 | 0x2000, | ||
2659 | 0x1000, | ||
2660 | 0x6000, | ||
2661 | 0x0000, | ||
2662 | |||
2663 | /* Character (0x7e): | ||
2664 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2665 | +----------------+ | ||
2666 | | | | ||
2667 | | * * | | ||
2668 | | * * | | ||
2669 | | | | ||
2670 | | | | ||
2671 | | | | ||
2672 | | | | ||
2673 | | | | ||
2674 | +----------------+ */ | ||
2675 | 0x0000, | ||
2676 | 0x2800, | ||
2677 | 0x5000, | ||
2678 | 0x0000, | ||
2679 | 0x0000, | ||
2680 | 0x0000, | ||
2681 | 0x0000, | ||
2682 | 0x0000, | ||
2683 | |||
2684 | /* Character (0x7f): | ||
2685 | bbw=5, bbh=8, bbx=0, bby=-1, width=5 | ||
2686 | +----------------+ | ||
2687 | | | | ||
2688 | | | | ||
2689 | | | | ||
2690 | | | | ||
2691 | | | | ||
2692 | | | | ||
2693 | | | | ||
2694 | | | | ||
2695 | +----------------+ */ | ||
2696 | 0x0000, | ||
2697 | 0x0000, | ||
2698 | 0x0000, | ||
2699 | 0x0000, | ||
2700 | 0x0000, | ||
2701 | 0x0000, | ||
2702 | 0x0000, | ||
2703 | 0x0000, | ||
2704 | }; | ||
2705 | |||
2706 | /* Character->glyph mapping. */ | ||
2707 | static unsigned long X5x8_offset[] = { | ||
2708 | 0, /* (0x00) */ | ||
2709 | 8, /* (0x01) */ | ||
2710 | 16, /* (0x02) */ | ||
2711 | 24, /* (0x03) */ | ||
2712 | 32, /* (0x04) */ | ||
2713 | 40, /* (0x05) */ | ||
2714 | 48, /* (0x06) */ | ||
2715 | 56, /* (0x07) */ | ||
2716 | 64, /* (0x08) */ | ||
2717 | 72, /* (0x09) */ | ||
2718 | 80, /* (0x0a) */ | ||
2719 | 88, /* (0x0b) */ | ||
2720 | 96, /* (0x0c) */ | ||
2721 | 104, /* (0x0d) */ | ||
2722 | 112, /* (0x0e) */ | ||
2723 | 120, /* (0x0f) */ | ||
2724 | 128, /* (0x10) */ | ||
2725 | 136, /* (0x11) */ | ||
2726 | 144, /* (0x12) */ | ||
2727 | 152, /* (0x13) */ | ||
2728 | 160, /* (0x14) */ | ||
2729 | 168, /* (0x15) */ | ||
2730 | 176, /* (0x16) */ | ||
2731 | 184, /* (0x17) */ | ||
2732 | 192, /* (0x18) */ | ||
2733 | 200, /* (0x19) */ | ||
2734 | 208, /* (0x1a) */ | ||
2735 | 216, /* (0x1b) */ | ||
2736 | 224, /* (0x1c) */ | ||
2737 | 232, /* (0x1d) */ | ||
2738 | 240, /* (0x1e) */ | ||
2739 | 248, /* (0x1f) */ | ||
2740 | 256, /* (0x20) */ | ||
2741 | 264, /* (0x21) */ | ||
2742 | 272, /* (0x22) */ | ||
2743 | 280, /* (0x23) */ | ||
2744 | 288, /* (0x24) */ | ||
2745 | 296, /* (0x25) */ | ||
2746 | 304, /* (0x26) */ | ||
2747 | 312, /* (0x27) */ | ||
2748 | 320, /* (0x28) */ | ||
2749 | 328, /* (0x29) */ | ||
2750 | 336, /* (0x2a) */ | ||
2751 | 344, /* (0x2b) */ | ||
2752 | 352, /* (0x2c) */ | ||
2753 | 360, /* (0x2d) */ | ||
2754 | 368, /* (0x2e) */ | ||
2755 | 376, /* (0x2f) */ | ||
2756 | 384, /* (0x30) */ | ||
2757 | 392, /* (0x31) */ | ||
2758 | 400, /* (0x32) */ | ||
2759 | 408, /* (0x33) */ | ||
2760 | 416, /* (0x34) */ | ||
2761 | 424, /* (0x35) */ | ||
2762 | 432, /* (0x36) */ | ||
2763 | 440, /* (0x37) */ | ||
2764 | 448, /* (0x38) */ | ||
2765 | 456, /* (0x39) */ | ||
2766 | 464, /* (0x3a) */ | ||
2767 | 472, /* (0x3b) */ | ||
2768 | 480, /* (0x3c) */ | ||
2769 | 488, /* (0x3d) */ | ||
2770 | 496, /* (0x3e) */ | ||
2771 | 504, /* (0x3f) */ | ||
2772 | 512, /* (0x40) */ | ||
2773 | 520, /* (0x41) */ | ||
2774 | 528, /* (0x42) */ | ||
2775 | 536, /* (0x43) */ | ||
2776 | 544, /* (0x44) */ | ||
2777 | 552, /* (0x45) */ | ||
2778 | 560, /* (0x46) */ | ||
2779 | 568, /* (0x47) */ | ||
2780 | 576, /* (0x48) */ | ||
2781 | 584, /* (0x49) */ | ||
2782 | 592, /* (0x4a) */ | ||
2783 | 600, /* (0x4b) */ | ||
2784 | 608, /* (0x4c) */ | ||
2785 | 616, /* (0x4d) */ | ||
2786 | 624, /* (0x4e) */ | ||
2787 | 632, /* (0x4f) */ | ||
2788 | 640, /* (0x50) */ | ||
2789 | 648, /* (0x51) */ | ||
2790 | 656, /* (0x52) */ | ||
2791 | 664, /* (0x53) */ | ||
2792 | 672, /* (0x54) */ | ||
2793 | 680, /* (0x55) */ | ||
2794 | 688, /* (0x56) */ | ||
2795 | 696, /* (0x57) */ | ||
2796 | 704, /* (0x58) */ | ||
2797 | 712, /* (0x59) */ | ||
2798 | 720, /* (0x5a) */ | ||
2799 | 728, /* (0x5b) */ | ||
2800 | 736, /* (0x5c) */ | ||
2801 | 744, /* (0x5d) */ | ||
2802 | 752, /* (0x5e) */ | ||
2803 | 760, /* (0x5f) */ | ||
2804 | 768, /* (0x60) */ | ||
2805 | 776, /* (0x61) */ | ||
2806 | 784, /* (0x62) */ | ||
2807 | 792, /* (0x63) */ | ||
2808 | 800, /* (0x64) */ | ||
2809 | 808, /* (0x65) */ | ||
2810 | 816, /* (0x66) */ | ||
2811 | 824, /* (0x67) */ | ||
2812 | 832, /* (0x68) */ | ||
2813 | 840, /* (0x69) */ | ||
2814 | 848, /* (0x6a) */ | ||
2815 | 856, /* (0x6b) */ | ||
2816 | 864, /* (0x6c) */ | ||
2817 | 872, /* (0x6d) */ | ||
2818 | 880, /* (0x6e) */ | ||
2819 | 888, /* (0x6f) */ | ||
2820 | 896, /* (0x70) */ | ||
2821 | 904, /* (0x71) */ | ||
2822 | 912, /* (0x72) */ | ||
2823 | 920, /* (0x73) */ | ||
2824 | 928, /* (0x74) */ | ||
2825 | 936, /* (0x75) */ | ||
2826 | 944, /* (0x76) */ | ||
2827 | 952, /* (0x77) */ | ||
2828 | 960, /* (0x78) */ | ||
2829 | 968, /* (0x79) */ | ||
2830 | 976, /* (0x7a) */ | ||
2831 | 984, /* (0x7b) */ | ||
2832 | 992, /* (0x7c) */ | ||
2833 | 1000, /* (0x7d) */ | ||
2834 | 1008, /* (0x7e) */ | ||
2835 | 1016, /* (0x7f) */ | ||
2836 | }; | ||
2837 | |||
2838 | /* Exported structure definition. */ | ||
2839 | MWCFONT font_X5x8 = { | ||
2840 | "X5x8", | ||
2841 | 5, | ||
2842 | 8, | ||
2843 | 7, | ||
2844 | 0, | ||
2845 | 128, | ||
2846 | X5x8_bits, | ||
2847 | X5x8_offset, | ||
2848 | 0, /* fixed width*/ | ||
2849 | 0, | ||
2850 | sizeof(X5x8_bits)/sizeof(MWIMAGEBITS), | ||
2851 | }; | ||
2852 | #endif /* HAVE_LCD_BITMAP */ | ||
2853 | |||
diff --git a/firmware/ajf.c b/firmware/ajf.c deleted file mode 100644 index 82ba0b7939..0000000000 --- a/firmware/ajf.c +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alex Gitelman | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifdef SIMULATOR | ||
20 | #include <fcntl.h> | ||
21 | #endif | ||
22 | #include <file.h> | ||
23 | #include "ajf.h" | ||
24 | #include <string.h> | ||
25 | #include <errno.h> | ||
26 | #include <stdbool.h> | ||
27 | #include "debug.h" | ||
28 | |||
29 | static unsigned char font_buf[MAX_FONT_BUFLEN]; | ||
30 | |||
31 | unsigned char* ajf_read_font(char* fname) | ||
32 | { | ||
33 | int count; | ||
34 | #ifdef WIN32 | ||
35 | int fd = open(fname, O_RDONLY|O_BINARY); | ||
36 | #else | ||
37 | int fd = open(fname, O_RDONLY); | ||
38 | #endif | ||
39 | if (fd<0) | ||
40 | { | ||
41 | #ifdef SIMULATOR | ||
42 | #ifdef WIN32 | ||
43 | DEBUGF("Failed opening font file: %d %s. ", _errno(), fname); | ||
44 | #else | ||
45 | DEBUGF("Failed opening font file: %d %s. ", errno, fname); | ||
46 | #endif | ||
47 | #endif | ||
48 | return NULL; | ||
49 | } | ||
50 | |||
51 | count = read(fd, font_buf, MAX_FONT_BUFLEN); | ||
52 | if (count==MAX_FONT_BUFLEN) { | ||
53 | DEBUGF("Font is larger than allocated %d bytes!\n",MAX_FONT_BUFLEN); | ||
54 | return NULL; | ||
55 | } | ||
56 | close(fd); | ||
57 | |||
58 | if (font_buf[0]!=MAGIC1 || font_buf[1]!=MAGIC2) { | ||
59 | DEBUGF("Bad magic word in font"); | ||
60 | return NULL; | ||
61 | } | ||
62 | return font_buf; | ||
63 | } | ||
64 | |||
65 | |||
66 | unsigned char* ajf_get_charbuf(unsigned char c, unsigned char* font, | ||
67 | int *w, int *h) | ||
68 | { | ||
69 | int height = READ_SHORT(&font[HEIGHT_OFFSET]); | ||
70 | int size = READ_SHORT(&font[SIZE_OFFSET]); | ||
71 | int chars_offset = LOOKUP_MAP_OFFSET + size*3; | ||
72 | int rows = (height-1)/8 + 1; | ||
73 | int first_char = READ_SHORT(&font[FIRST_CHAR_OFFSET]); | ||
74 | int map_idx = LOOKUP_MAP_OFFSET + (c-first_char)*3; | ||
75 | int byte_count = font[map_idx]; | ||
76 | int char_idx; | ||
77 | |||
78 | *h = height; | ||
79 | *w = byte_count/rows; | ||
80 | |||
81 | map_idx++; | ||
82 | char_idx = READ_SHORT(&font[map_idx]); | ||
83 | return &font[chars_offset + char_idx]; | ||
84 | } | ||
85 | |||
86 | void ajf_get_charsize(unsigned char c, unsigned char* font, | ||
87 | int *width, int *height) | ||
88 | { | ||
89 | int first_char = READ_SHORT(&font[FIRST_CHAR_OFFSET]); | ||
90 | int map_idx = LOOKUP_MAP_OFFSET + (c-first_char)*3; | ||
91 | int rows = 1; | ||
92 | *height = READ_SHORT(&font[HEIGHT_OFFSET]); | ||
93 | rows = (*height-1)/8 + 1; | ||
94 | *width = font[map_idx]/rows; | ||
95 | } | ||
96 | |||
97 | int ajf_get_fontheight(unsigned char* font) | ||
98 | { | ||
99 | return READ_SHORT(&font[HEIGHT_OFFSET]); | ||
100 | } | ||
diff --git a/firmware/ajf.h b/firmware/ajf.h deleted file mode 100644 index 70d94fb3e0..0000000000 --- a/firmware/ajf.h +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alex Gitelman | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifndef __AJF__ | ||
20 | #define __AJF__ | ||
21 | |||
22 | /* defined here because they are used by tools/bdf2ajz */ | ||
23 | #define MAGIC1 0xBD | ||
24 | #define MAGIC2 0xFC | ||
25 | #define MAX_FONT_BUFLEN 4096 | ||
26 | |||
27 | #define CODE_PAGE_OFFSET 2 /* 1 byte TODO: unused now */ | ||
28 | #define FONT_NAME_OFFSET 3 | ||
29 | #define FONT_NAME_LEN 32 | ||
30 | #define MAX_WIDTH_OFFSET (FONT_NAME_OFFSET + FONT_NAME_LEN) /* 2 byte */ | ||
31 | #define HEIGHT_OFFSET (MAX_WIDTH_OFFSET + 2) /* 2 byte */ | ||
32 | #define ASCENT_OFFSET (HEIGHT_OFFSET+2) /* 2 byte ascent (baseline) height*/ | ||
33 | #define FIRST_CHAR_OFFSET (HEIGHT_OFFSET+2) /* 2 bytes first character of font*/ | ||
34 | #define SIZE_OFFSET (FIRST_CHAR_OFFSET+2) /* 2 bytes size of font (# encodings)*/ | ||
35 | #define LOOKUP_MAP_OFFSET SIZE_OFFSET+2 /* Map to lookup char positions */ | ||
36 | |||
37 | |||
38 | #define WRITE_SHORT(s,buf) { (buf)[0] = (s & 0xff00) >> 8 ; \ | ||
39 | (buf)[1] = s & 0x00ff; } | ||
40 | #define READ_SHORT(buf) (((buf)[0]<<8) + (buf)[1]) | ||
41 | |||
42 | unsigned char* ajf_read_font(char* fname); | ||
43 | unsigned char* ajf_get_charbuf(unsigned char c, unsigned char* font, | ||
44 | int *width, int *height); | ||
45 | void ajf_get_charsize(unsigned char c, unsigned char* font, | ||
46 | int *width, int *height); | ||
47 | int ajf_get_fontheight(unsigned char* font); | ||
48 | |||
49 | extern char _font_error_msg[]; | ||
50 | |||
51 | |||
52 | #endif | ||
diff --git a/firmware/chartables.c b/firmware/chartables.c index 8f6b31481e..7177aa7e79 100644 --- a/firmware/chartables.c +++ b/firmware/chartables.c | |||
@@ -4,8 +4,7 @@ | |||
4 | 4 | ||
5 | #include "config.h" | 5 | #include "config.h" |
6 | 6 | ||
7 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | 7 | #if 0 |
8 | |||
9 | const unsigned char char_gen_6x8[][5] = | 8 | const unsigned char char_gen_6x8[][5] = |
10 | { | 9 | { |
11 | { 0x00,0x00,0x00,0x00,0x00 }, | 10 | { 0x00,0x00,0x00,0x00,0x00 }, |
@@ -205,7 +204,9 @@ const unsigned char char_gen_8x12[][14] = | |||
205 | { 0x04,0x00,0x06,0x00,0x02,0x00,0x06,0x00,0x04,0x00,0x06,0x00,0x02,0x00 }, | 204 | { 0x04,0x00,0x06,0x00,0x02,0x00,0x06,0x00,0x04,0x00,0x06,0x00,0x02,0x00 }, |
206 | { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 } | 205 | { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 } |
207 | }; | 206 | }; |
207 | #endif | ||
208 | 208 | ||
209 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | ||
209 | const unsigned char char_gen_12x16[][22] = | 210 | const unsigned char char_gen_12x16[][22] = |
210 | { | 211 | { |
211 | { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, | 212 | { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, |
@@ -305,246 +306,5 @@ const unsigned char char_gen_12x16[][22] = | |||
305 | { 0x10,0x00,0x18,0x00,0x0c,0x00,0x04,0x00,0x0c,0x00,0x18,0x00,0x10,0x00,0x18,0x00,0x0c,0x00,0x04,0x00,0x00,0x00 }, | 306 | { 0x10,0x00,0x18,0x00,0x0c,0x00,0x04,0x00,0x0c,0x00,0x18,0x00,0x10,0x00,0x18,0x00,0x0c,0x00,0x04,0x00,0x00,0x00 }, |
306 | { 0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0x00,0x00 } | 307 | { 0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0xff,0x3f,0x00,0x00 } |
307 | }; | 308 | }; |
308 | |||
309 | #ifdef LCD_PROPFONTS | ||
310 | |||
311 | |||
312 | unsigned char char_dw_8x8_prop[][9] = { | ||
313 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37 } /* */, | ||
314 | { 0xbe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17 } /* ! */, | ||
315 | { 0xe,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x37 } /* " */, | ||
316 | { 0x28,0x7c,0x28,0x7c,0x28,0x0,0x0,0x0,0x56 } /* # */, | ||
317 | { 0x48,0x54,0xfe,0x54,0x24,0x0,0x0,0x0,0x57 } /* $ */, | ||
318 | { 0x88,0x40,0x20,0x10,0x88,0x0,0x0,0x0,0x55 } /* % */, | ||
319 | { 0x6c,0x92,0x92,0xaa,0x44,0xa0,0x0,0x0,0x67 } /* & */, | ||
320 | { 0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17 } /* ' */, | ||
321 | { 0x7c,0x82,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* ( */, | ||
322 | { 0x82,0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* ) */, | ||
323 | { 0x54,0x38,0x7c,0x38,0x54,0x0,0x0,0x0,0x56 } /* * */, | ||
324 | { 0x10,0x10,0x7c,0x10,0x10,0x0,0x0,0x0,0x56 } /* + */, | ||
325 | { 0x80,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x22 } /* , */, | ||
326 | { 0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x45 } /* - */, | ||
327 | { 0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11 } /* . */, | ||
328 | { 0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x0,0x77 } /* / */, | ||
329 | { 0x7c,0x82,0x82,0x7c,0x0,0x0,0x0,0x0,0x47 } /* 0 */, | ||
330 | { 0x84,0xfe,0x80,0x0,0x0,0x0,0x0,0x0,0x37 } /* 1 */, | ||
331 | { 0xe4,0x92,0x92,0x8c,0x0,0x0,0x0,0x0,0x47 } /* 2 */, | ||
332 | { 0x44,0x92,0x92,0x6c,0x0,0x0,0x0,0x0,0x47 } /* 3 */, | ||
333 | { 0x1e,0x10,0x10,0xfe,0x0,0x0,0x0,0x0,0x47 } /* 4 */, | ||
334 | { 0x4e,0x92,0x92,0x62,0x0,0x0,0x0,0x0,0x47 } /* 5 */, | ||
335 | { 0x7c,0x92,0x92,0x60,0x0,0x0,0x0,0x0,0x47 } /* 6 */, | ||
336 | { 0x2,0x12,0x12,0xfe,0x0,0x0,0x0,0x0,0x47 } /* 7 */, | ||
337 | { 0x6c,0x92,0x92,0x6c,0x0,0x0,0x0,0x0,0x47 } /* 8 */, | ||
338 | { 0xc,0x92,0x92,0x7c,0x0,0x0,0x0,0x0,0x47 } /* 9 */, | ||
339 | { 0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x16 } /* : */, | ||
340 | { 0x80,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x26 } /* ; */, | ||
341 | { 0x10,0x28,0x44,0x0,0x0,0x0,0x0,0x0,0x36 } /* < */, | ||
342 | { 0x28,0x28,0x28,0x28,0x28,0x0,0x0,0x0,0x55 } /* = */, | ||
343 | { 0x44,0x28,0x10,0x0,0x0,0x0,0x0,0x0,0x36 } /* > */, | ||
344 | { 0xb2,0x12,0x12,0xc,0x0,0x0,0x0,0x0,0x47 } /* ? */, | ||
345 | { 0x60,0x94,0x94,0x94,0xa4,0x48,0x30,0x0,0x76 } /* @ */, | ||
346 | { 0xfc,0x22,0x22,0xfc,0x0,0x0,0x0,0x0,0x47 } /* A */, | ||
347 | { 0xfe,0x92,0x92,0x6c,0x0,0x0,0x0,0x0,0x47 } /* B */, | ||
348 | { 0x7c,0x82,0x82,0x44,0x0,0x0,0x0,0x0,0x47 } /* C */, | ||
349 | { 0xfe,0x82,0x82,0x7c,0x0,0x0,0x0,0x0,0x47 } /* D */, | ||
350 | { 0xfe,0x92,0x92,0x82,0x0,0x0,0x0,0x0,0x47 } /* E */, | ||
351 | { 0xfe,0x12,0x12,0x2,0x0,0x0,0x0,0x0,0x47 } /* F */, | ||
352 | { 0x7c,0x82,0x92,0xf2,0x0,0x0,0x0,0x0,0x47 } /* G */, | ||
353 | { 0xfe,0x10,0x10,0xfe,0x0,0x0,0x0,0x0,0x47 } /* H */, | ||
354 | { 0x82,0xfe,0x82,0x0,0x0,0x0,0x0,0x0,0x37 } /* I */, | ||
355 | { 0x42,0x82,0x82,0x7e,0x0,0x0,0x0,0x0,0x47 } /* J */, | ||
356 | { 0xfe,0x10,0x28,0xc6,0x0,0x0,0x0,0x0,0x47 } /* K */, | ||
357 | { 0xfe,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x47 } /* L */, | ||
358 | { 0xfe,0x4,0x18,0x4,0xfe,0x0,0x0,0x0,0x57 } /* M */, | ||
359 | { 0xfe,0x2,0x2,0xfc,0x0,0x0,0x0,0x0,0x47 } /* N */, | ||
360 | { 0x7c,0x82,0x82,0x7c,0x0,0x0,0x0,0x0,0x47 } /* O */, | ||
361 | { 0xfe,0x12,0x12,0xc,0x0,0x0,0x0,0x0,0x47 } /* P */, | ||
362 | { 0x7c,0x82,0xa2,0x7c,0x40,0x80,0x0,0x0,0x67 } /* Q */, | ||
363 | { 0xfe,0x12,0x12,0xec,0x0,0x0,0x0,0x0,0x47 } /* R */, | ||
364 | { 0x8c,0x92,0x92,0x62,0x0,0x0,0x0,0x0,0x47 } /* S */, | ||
365 | { 0x2,0x2,0xfe,0x2,0x2,0x0,0x0,0x0,0x57 } /* T */, | ||
366 | { 0x7e,0x80,0x80,0x7e,0x0,0x0,0x0,0x0,0x47 } /* U */, | ||
367 | { 0x3e,0x40,0x80,0x40,0x3e,0x0,0x0,0x0,0x57 } /* V */, | ||
368 | { 0xfe,0x40,0x30,0x40,0xfe,0x0,0x0,0x0,0x57 } /* W */, | ||
369 | { 0xc6,0x28,0x10,0x28,0xc6,0x0,0x0,0x0,0x57 } /* X */, | ||
370 | { 0xe,0x10,0xe0,0x10,0xe,0x0,0x0,0x0,0x57 } /* Y */, | ||
371 | { 0xe2,0x92,0x92,0x8e,0x0,0x0,0x0,0x0,0x47 } /* Z */, | ||
372 | { 0xfe,0x82,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* [ */, | ||
373 | { 0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x77 } /* \ */, | ||
374 | { 0x82,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* ] */, | ||
375 | { 0x8,0x4,0x2,0x4,0x8,0x0,0x0,0x0,0x57 } /* ^ */, | ||
376 | { 0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x15 } /* _ */, | ||
377 | { 0x6,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* ` */, | ||
378 | { 0x40,0xa8,0xa8,0xa8,0xf0,0x0,0x0,0x0,0x55 } /* a */, | ||
379 | { 0xfe,0x90,0x90,0x60,0x0,0x0,0x0,0x0,0x47 } /* b */, | ||
380 | { 0x70,0x88,0x88,0x88,0x0,0x0,0x0,0x0,0x45 } /* c */, | ||
381 | { 0x60,0x90,0x90,0xfe,0x0,0x0,0x0,0x0,0x47 } /* d */, | ||
382 | { 0x70,0xa8,0xa8,0xa8,0x10,0x0,0x0,0x0,0x55 } /* e */, | ||
383 | { 0x10,0xfc,0x12,0x2,0x0,0x0,0x0,0x0,0x47 } /* f */, | ||
384 | { 0x10,0xa8,0xa8,0xa8,0x78,0x0,0x0,0x0,0x55 } /* g */, | ||
385 | { 0xfe,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,0x47 } /* h */, | ||
386 | { 0x88,0xfa,0x80,0x0,0x0,0x0,0x0,0x0,0x37 } /* i */, | ||
387 | { 0x40,0x80,0x88,0x7a,0x0,0x0,0x0,0x0,0x47 } /* j */, | ||
388 | { 0xfe,0x20,0x50,0x88,0x0,0x0,0x0,0x0,0x47 } /* k */, | ||
389 | { 0x82,0xfe,0x80,0x0,0x0,0x0,0x0,0x0,0x37 } /* l */, | ||
390 | { 0xf8,0x8,0x70,0x8,0xf8,0x0,0x0,0x0,0x55 } /* m */, | ||
391 | { 0xf8,0x8,0x8,0xf0,0x0,0x0,0x0,0x0,0x45 } /* n */, | ||
392 | { 0x70,0x88,0x88,0x70,0x0,0x0,0x0,0x0,0x45 } /* o */, | ||
393 | { 0xf8,0x28,0x28,0x10,0x0,0x0,0x0,0x0,0x45 } /* p */, | ||
394 | { 0x10,0x28,0x28,0xf8,0x0,0x0,0x0,0x0,0x45 } /* q */, | ||
395 | { 0xf8,0x10,0x8,0x8,0x0,0x0,0x0,0x0,0x45 } /* r */, | ||
396 | { 0x90,0xa8,0xa8,0x48,0x0,0x0,0x0,0x0,0x45 } /* s */, | ||
397 | { 0x8,0xfe,0x8,0x0,0x0,0x0,0x0,0x0,0x37 } /* t */, | ||
398 | { 0x78,0x80,0x80,0x78,0x0,0x0,0x0,0x0,0x45 } /* u */, | ||
399 | { 0x38,0x40,0x80,0x40,0x38,0x0,0x0,0x0,0x55 } /* v */, | ||
400 | { 0xf8,0x80,0x60,0x80,0xf8,0x0,0x0,0x0,0x55 } /* w */, | ||
401 | { 0xd8,0x20,0xd8,0x0,0x0,0x0,0x0,0x0,0x35 } /* x */, | ||
402 | { 0x18,0xa0,0xa0,0x78,0x0,0x0,0x0,0x0,0x45 } /* y */, | ||
403 | { 0xc8,0xa8,0x98,0x0,0x0,0x0,0x0,0x0,0x35 } /* z 0x7a */, | ||
404 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x7b */, | ||
405 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x7c */, | ||
406 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x7d */, | ||
407 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x7e */, | ||
408 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x7f */, | ||
409 | |||
410 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x80 */, | ||
411 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x81 */, | ||
412 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x82 */, | ||
413 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x83 */, | ||
414 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x85 */, | ||
415 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x86 */, | ||
416 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x87 */, | ||
417 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x88 */, | ||
418 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x89 */, | ||
419 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8a */, | ||
420 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8b */, | ||
421 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8c */, | ||
422 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8d */, | ||
423 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8e */, | ||
424 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x8f */, | ||
425 | |||
426 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x90 */, | ||
427 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x91 */, | ||
428 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x92 */, | ||
429 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x93 */, | ||
430 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x95 */, | ||
431 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x96 */, | ||
432 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x97 */, | ||
433 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x98 */, | ||
434 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x99 */, | ||
435 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9a */, | ||
436 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9b */, | ||
437 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9c */, | ||
438 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9d */, | ||
439 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9e */, | ||
440 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0x9f */, | ||
441 | |||
442 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37 } /* */, | ||
443 | { 0xfa,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17 } /* ¡ */, | ||
444 | { 0x38,0x44,0xfe,0x44,0x28,0x0,0x0,0x0,0x57 } /* ¢ */, | ||
445 | { 0x90,0x7c,0x92,0x82,0x82,0x44,0x0,0x0,0x67 } /* £ */, | ||
446 | { 0x44,0x38,0x28,0x38,0x44,0x0,0x0,0x0,0x55 } /* ¤ */, | ||
447 | { 0x2a,0x2c,0xf8,0x2c,0x2a,0x0,0x0,0x0,0x57 } /* ¥ */, | ||
448 | { 0xee,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17 } /* ¦ */, | ||
449 | { 0x94,0xaa,0xaa,0x52,0x0,0x0,0x0,0x0,0x47 } /* § */, | ||
450 | { 0x2,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x47 } /* ¨ */, | ||
451 | { 0x7c,0x82,0xba,0xaa,0xaa,0x82,0x7c,0x0,0x77 } /* © */, | ||
452 | { 0x0,0x32,0x2a,0x2a,0x3e,0x20,0x0,0x0,0x57 } /* ª */, | ||
453 | { 0x10,0x28,0x54,0x28,0x44,0x0,0x0,0x0,0x56 } /* « */, | ||
454 | { 0x2,0x2,0x2,0x2,0x6,0x0,0x0,0x0,0x57 } /* ¬ */, | ||
455 | { 0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x55 } /* */, | ||
456 | { 0x7c,0x82,0xfa,0xaa,0xda,0x82,0x7c,0x0,0x77 } /* ® */, | ||
457 | { 0x8,0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x65 } /* */, | ||
458 | { 0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x77 } /* ¯ */, | ||
459 | { 0x4,0xa,0xa,0x4,0x0,0x0,0x0,0x0,0x47 } /* ° */, | ||
460 | { 0x24,0x24,0x2e,0x24,0x24,0x0,0x0,0x0,0x57 } /* ± */, | ||
461 | { 0x1a,0x1a,0x16,0x10,0x0,0x0,0x0,0x0,0x47 } /* ² */, | ||
462 | { 0x12,0x16,0x1e,0x0,0x0,0x0,0x0,0x0,0x37 } /* ³ */, | ||
463 | { 0x4,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x27 } /* ´ */, | ||
464 | { 0x1e,0x8,0x8,0x6,0x0,0x0,0x0,0x0,0x47 } /* µ */, | ||
465 | { 0xc,0xe,0x1e,0xfe,0x2,0xfe,0x0,0x0,0x67 } /* ¶ */, | ||
466 | { 0x10,0x38,0x38,0x10,0x0,0x0,0x0,0x0,0x45 } /* · */, | ||
467 | { 0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,0x42 } /* ¸ */, | ||
468 | { 0xa,0xe,0x8,0x0,0x0,0x0,0x0,0x0,0x17 } /* ¹ */, | ||
469 | { 0x4,0xa,0xa,0x4,0x0,0x0,0x0,0x0,0x47 } /* º */, | ||
470 | { 0x44,0x28,0x54,0x28,0x10,0x0,0x0,0x0,0x56 } /* » */, | ||
471 | { 0x2e,0x10,0x8,0x34,0x22,0x70,0x0,0x0,0x67 } /* ¼ */, | ||
472 | { 0x2e,0x10,0x8,0xd4,0xd2,0xb0,0x80,0x0,0x77 } /* ½ */, | ||
473 | { 0x52,0x36,0x1e,0x68,0x44,0xe2,0x0,0x0,0x67 } /* | ||
474 | { 0xb2,0x12,0x12,0xc,0x0,0x0,0x0,0x0,0x47 } /* ? */, | ||
475 | { 0x60,0x90,0x90,0x9a,0x0,0x0,0x0,0x0,0x47 } /* ¿ */, | ||
476 | { 0xf9,0x26,0x24,0xf8,0x0,0x0,0x0,0x0,0x48 } /* À */, | ||
477 | { 0xf8,0x24,0x26,0xf9,0x0,0x0,0x0,0x0,0x48 } /* Á */, | ||
478 | { 0xfa,0x25,0x25,0xfa,0x0,0x0,0x0,0x0,0x48 } /* Â */, | ||
479 | { 0xfa,0x25,0x26,0xf9,0x0,0x0,0x0,0x0,0x48 } /* Ã */, | ||
480 | { 0xf9,0x24,0x24,0xf9,0x0,0x0,0x0,0x0,0x48 } /* Ä */, | ||
481 | { 0xfa,0x25,0x25,0xfa,0x0,0x0,0x0,0x0,0x48 } /* Å */, | ||
482 | { 0xfc,0x12,0x12,0xfe,0x92,0x92,0x82,0x0,0x77 } /* Æ */, | ||
483 | { 0x3c,0x42,0xc2,0x42,0x42,0x24,0x0,0x0,0x67 } /* Ç */, | ||
484 | { 0xfc,0x95,0x96,0x84,0x0,0x0,0x0,0x0,0x48 } /* È */, | ||
485 | { 0xfc,0x96,0x95,0x84,0x0,0x0,0x0,0x0,0x48 } /* É */, | ||
486 | { 0xfe,0x95,0x95,0x86,0x0,0x0,0x0,0x0,0x48 } /* Ê */, | ||
487 | { 0xfd,0x94,0x94,0x85,0x0,0x0,0x0,0x0,0x48 } /* Ë */, | ||
488 | { 0x85,0xfe,0x84,0x0,0x0,0x0,0x0,0x0,0x38 } /* Ì */, | ||
489 | { 0x84,0xfe,0x85,0x0,0x0,0x0,0x0,0x0,0x38 } /* Í */, | ||
490 | { 0x86,0xfd,0x86,0x0,0x0,0x0,0x0,0x0,0x38 } /* Î */, | ||
491 | |||
492 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0xcf */, | ||
493 | |||
494 | { 0x10,0xfe,0x92,0x82,0x7c,0x0,0x0,0x0,0x57 } /* Ð */, | ||
495 | { 0xfe,0x5,0x6,0xf9,0x0,0x0,0x0,0x0,0x48 } /* Ñ */, | ||
496 | { 0x79,0x86,0x84,0x78,0x0,0x0,0x0,0x0,0x48 } /* Ò */, | ||
497 | { 0x78,0x84,0x86,0x79,0x0,0x0,0x0,0x0,0x48 } /* Ó */, | ||
498 | { 0x7a,0x85,0x85,0x7a,0x0,0x0,0x0,0x0,0x48 } /* Ô */, | ||
499 | { 0x7a,0x85,0x86,0x79,0x0,0x0,0x0,0x0,0x48 } /* Õ */, | ||
500 | { 0x79,0x84,0x84,0x79,0x0,0x0,0x0,0x0,0x48 } /* Ö */, | ||
501 | { 0x44,0x28,0x10,0x28,0x44,0x0,0x0,0x0,0x56 } /* × */, | ||
502 | { 0x80,0x78,0x64,0x54,0x4c,0x3c,0x2,0x0,0x77 } /* Ø */, | ||
503 | { 0x7c,0x81,0x82,0x7c,0x0,0x0,0x0,0x0,0x48 } /* Ù */, | ||
504 | { 0x7c,0x82,0x81,0x7c,0x0,0x0,0x0,0x0,0x48 } /* Ú */, | ||
505 | { 0x7a,0x81,0x81,0x7a,0x0,0x0,0x0,0x0,0x48 } /* Û */, | ||
506 | |||
507 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0xdc */, | ||
508 | |||
509 | { 0x4,0x8,0xf2,0x9,0x4,0x0,0x0,0x0,0x58 } /* Ý */, | ||
510 | { 0xfe,0x14,0x14,0x8,0x0,0x0,0x0,0x0,0x47 } /* Þ */, | ||
511 | { 0xfc,0x2,0x92,0x92,0x6c,0x0,0x0,0x0,0x57 } /* ß */, | ||
512 | { 0x40,0xa8,0xa9,0xaa,0xf0,0x0,0x0,0x0,0x58 } /* à */, | ||
513 | |||
514 | { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x00 } /* 0xe1 */, | ||
515 | |||
516 | { 0x40,0xaa,0xa9,0xa9,0xf2,0x0,0x0,0x0,0x58 } /* â */, | ||
517 | { 0x40,0xaa,0xa9,0xaa,0xf1,0x0,0x0,0x0,0x58 } /* ã */, | ||
518 | { 0x40,0xaa,0xa8,0xa8,0xf2,0x0,0x0,0x0,0x57 } /* ä */, | ||
519 | { 0x40,0xac,0xaa,0xaa,0xf4,0x0,0x0,0x0,0x57 } /* å */, | ||
520 | { 0x40,0xa8,0xa8,0xf0,0xa8,0xa8,0xb0,0x0,0x75 } /* æ */, | ||
521 | { 0x30,0x48,0xc8,0x48,0x48,0x0,0x0,0x0,0x55 } /* ç */, | ||
522 | { 0x70,0xa9,0xaa,0xa8,0x10,0x0,0x0,0x0,0x58 } /* è */, | ||
523 | { 0x70,0xa8,0xaa,0xa9,0x10,0x0,0x0,0x0,0x58 } /* é */, | ||
524 | { 0x72,0xa9,0xa9,0xaa,0x10,0x0,0x0,0x0,0x58 } /* ê */, | ||
525 | { 0x70,0xaa,0xa8,0xa8,0x12,0x0,0x0,0x0,0x57 } /* ë */, | ||
526 | { 0x89,0xfa,0x80,0x0,0x0,0x0,0x0,0x0,0x38 } /* ì */, | ||
527 | { 0x88,0xfa,0x81,0x0,0x0,0x0,0x0,0x0,0x38 } /* í */, | ||
528 | { 0x8a,0xf9,0x82,0x0,0x0,0x0,0x0,0x0,0x38 } /* î */, | ||
529 | { 0x8a,0xf8,0x82,0x0,0x0,0x0,0x0,0x0,0x37 } /* ï */, | ||
530 | { 0x72,0x8b,0x8c,0x70,0x0,0x0,0x0,0x0,0x38 } /* ð */, | ||
531 | { 0xfa,0x9,0xa,0xf1,0x0,0x0,0x0,0x0,0x48 } /* ñ */, | ||
532 | { 0x71,0x8a,0x88,0x70,0x0,0x0,0x0,0x0,0x48 } /* ò */, | ||
533 | { 0x70,0x88,0x8a,0x71,0x0,0x0,0x0,0x0,0x48 } /* ó */, | ||
534 | { 0x72,0x89,0x89,0x72,0x0,0x0,0x0,0x0,0x48 } /* ô */, | ||
535 | { 0x72,0x89,0x8a,0x71,0x0,0x0,0x0,0x0,0x48 } /* õ */, | ||
536 | { 0x72,0x88,0x88,0x72,0x0,0x0,0x0,0x0,0x47 } /* ö */, | ||
537 | { 0x10,0x10,0x54,0x10,0x10,0x0,0x0,0x0,0x56 } /* ÷ */, | ||
538 | { 0xb8,0x44,0xa4,0x94,0x88,0x74,0x0,0x0,0x66 } /* ø */, | ||
539 | { 0x78,0x81,0x82,0x78,0x0,0x0,0x0,0x0,0x48 } /* ù */, | ||
540 | { 0x78,0x82,0x81,0x78,0x0,0x0,0x0,0x0,0x48 } /* ú */, | ||
541 | { 0x7a,0x81,0x81,0x7a,0x0,0x0,0x0,0x0,0x48 } /* û */, | ||
542 | { 0x7a,0x80,0x80,0x7a,0x0,0x0,0x0,0x0,0x47 } /* ü */, | ||
543 | { 0x18,0xa1,0xa2,0x78,0x0,0x0,0x0,0x0,0x48 } /* ý */, | ||
544 | { 0xfe,0x28,0x44,0x44,0x44,0x38,0x0,0x0,0x67 } /* þ */, | ||
545 | { 0x1a,0xa0,0xa0,0x7a,0x0,0x0,0x0,0x0,0x47 } /* ÿ */ | ||
546 | }; | ||
547 | |||
548 | #endif | ||
549 | |||
550 | #endif /* HAVE_LCD_BITMAP || SIMULATOR */ | 309 | #endif /* HAVE_LCD_BITMAP || SIMULATOR */ |
310 | |||
diff --git a/firmware/debug.h b/firmware/debug.h index 876b8511a6..e9eec27e86 100644 --- a/firmware/debug.h +++ b/firmware/debug.h | |||
@@ -26,7 +26,8 @@ extern void debugf(char* fmt,...); | |||
26 | 26 | ||
27 | /* */ | 27 | /* */ |
28 | #if defined(DEBUG) || defined(SIMULATOR) | 28 | #if defined(DEBUG) || defined(SIMULATOR) |
29 | #define DEBUGF(...) debugf(__VA_ARGS__) | 29 | //#define DEBUGF(...) debugf(__VA_ARGS__) |
30 | #define DEBUGF debugf | ||
30 | #else | 31 | #else |
31 | #define DEBUGF(...) | 32 | #define DEBUGF(...) |
32 | #endif | 33 | #endif |
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index c43807b25f..f0a2089367 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c | |||
@@ -1049,10 +1049,6 @@ int fat_getnext(struct fat_dir *dir, struct fat_direntry *entry) | |||
1049 | for (j=longs-1; j>=0; j--) { | 1049 | for (j=longs-1; j>=0; j--) { |
1050 | unsigned char* ptr = dir->cached_buf; | 1050 | unsigned char* ptr = dir->cached_buf; |
1051 | int index = longarray[j]; | 1051 | int index = longarray[j]; |
1052 | #ifdef LOADABLE_FONTS | ||
1053 | int offset_idx = 0; | ||
1054 | unsigned char uni_char[2]; | ||
1055 | #endif | ||
1056 | /* current or cached sector? */ | 1052 | /* current or cached sector? */ |
1057 | if ( sectoridx >= SECTOR_SIZE ) { | 1053 | if ( sectoridx >= SECTOR_SIZE ) { |
1058 | if ( sectoridx >= SECTOR_SIZE*2 ) { | 1054 | if ( sectoridx >= SECTOR_SIZE*2 ) { |
@@ -1070,30 +1066,6 @@ int fat_getnext(struct fat_dir *dir, struct fat_direntry *entry) | |||
1070 | index &= SECTOR_SIZE-1; | 1066 | index &= SECTOR_SIZE-1; |
1071 | } | 1067 | } |
1072 | 1068 | ||
1073 | /* piece together the name subcomponents. */ | ||
1074 | #ifdef LOADABLE_FONTS | ||
1075 | for (k=0; k<5; k++) | ||
1076 | { | ||
1077 | offset_idx = index + k*2 + 1; | ||
1078 | uni_char[0] = ptr[offset_idx+1]; | ||
1079 | uni_char[1] = ptr[offset_idx]; | ||
1080 | entry->name[l++] = from_unicode(uni_char); | ||
1081 | } | ||
1082 | for (k=0; k<6; k++) | ||
1083 | { | ||
1084 | offset_idx = index + k*2 + 14; | ||
1085 | uni_char[0] = ptr[offset_idx+1]; | ||
1086 | uni_char[1] = ptr[offset_idx]; | ||
1087 | entry->name[l++] = from_unicode(uni_char); | ||
1088 | } | ||
1089 | for (k=0; k<2; k++) | ||
1090 | { | ||
1091 | offset_idx = index + k*2 + 28; | ||
1092 | uni_char[0] = ptr[offset_idx+1]; | ||
1093 | uni_char[1] = ptr[offset_idx]; | ||
1094 | entry->name[l++] = from_unicode(uni_char); | ||
1095 | } | ||
1096 | #else | ||
1097 | /* names are stored in unicode, but we | 1069 | /* names are stored in unicode, but we |
1098 | only grab the low byte (iso8859-1). */ | 1070 | only grab the low byte (iso8859-1). */ |
1099 | for (k=0; k<5; k++) | 1071 | for (k=0; k<5; k++) |
@@ -1102,7 +1074,6 @@ int fat_getnext(struct fat_dir *dir, struct fat_direntry *entry) | |||
1102 | entry->name[l++] = ptr[index + k*2 + 14]; | 1074 | entry->name[l++] = ptr[index + k*2 + 14]; |
1103 | for (k=0; k<2; k++) | 1075 | for (k=0; k<2; k++) |
1104 | entry->name[l++] = ptr[index + k*2 + 28]; | 1076 | entry->name[l++] = ptr[index + k*2 + 28]; |
1105 | #endif | ||
1106 | } | 1077 | } |
1107 | entry->name[l]=0; | 1078 | entry->name[l]=0; |
1108 | } | 1079 | } |
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c index e3248878da..5240dfda42 100644 --- a/firmware/drivers/lcd.c +++ b/firmware/drivers/lcd.c | |||
@@ -26,17 +26,12 @@ | |||
26 | #include "file.h" | 26 | #include "file.h" |
27 | #include "debug.h" | 27 | #include "debug.h" |
28 | #include "system.h" | 28 | #include "system.h" |
29 | 29 | #include "font.h" | |
30 | #ifdef LOADABLE_FONTS | ||
31 | #include "ajf.h" | ||
32 | #include "panic.h" | ||
33 | #endif | ||
34 | 30 | ||
35 | #if defined(SIMULATOR) | 31 | #if defined(SIMULATOR) |
36 | #include "sim_icons.h" | 32 | #include "sim_icons.h" |
37 | #endif | 33 | #endif |
38 | 34 | ||
39 | |||
40 | /*** definitions ***/ | 35 | /*** definitions ***/ |
41 | 36 | ||
42 | #define LCDR (PBDR_ADDR+1) | 37 | #define LCDR (PBDR_ADDR+1) |
@@ -513,9 +508,6 @@ void lcd_init (void) | |||
513 | { | 508 | { |
514 | create_thread(scroll_thread, scroll_stack, | 509 | create_thread(scroll_thread, scroll_stack, |
515 | sizeof(scroll_stack), scroll_name); | 510 | sizeof(scroll_stack), scroll_name); |
516 | #if defined(LOADABLE_FONTS) && defined(SIMULATOR) | ||
517 | lcd_init_fonts(); | ||
518 | #endif | ||
519 | } | 511 | } |
520 | #endif | 512 | #endif |
521 | 513 | ||
@@ -568,17 +560,11 @@ static int ymargin=0; | |||
568 | #define ASCII_MIN 0x20 /* First char in table */ | 560 | #define ASCII_MIN 0x20 /* First char in table */ |
569 | #define ASCII_MAX 0x7f /* Last char in table */ | 561 | #define ASCII_MAX 0x7f /* Last char in table */ |
570 | 562 | ||
571 | extern unsigned char char_gen_6x8[][5]; | ||
572 | extern unsigned char char_gen_8x12[][14]; | ||
573 | extern unsigned char char_gen_12x16[][22]; | ||
574 | |||
575 | /* All zeros and ones bitmaps for area filling */ | 563 | /* All zeros and ones bitmaps for area filling */ |
576 | static unsigned char zeros[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 564 | static unsigned char zeros[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
577 | 0x00, 0x00 }; | 565 | 0x00, 0x00 }; |
578 | static unsigned char ones[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, | 566 | static unsigned char ones[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, |
579 | 0xff, 0xff }; | 567 | 0xff, 0xff }; |
580 | static char fonts[] = { 6,8,12 }; | ||
581 | static char fontheight[] = { 8,12,16 }; | ||
582 | 568 | ||
583 | #ifndef SIMULATOR | 569 | #ifndef SIMULATOR |
584 | 570 | ||
@@ -696,175 +682,14 @@ int lcd_getymargin(void) | |||
696 | return ymargin; | 682 | return ymargin; |
697 | } | 683 | } |
698 | 684 | ||
699 | |||
700 | |||
701 | #ifdef LOADABLE_FONTS | ||
702 | |||
703 | static unsigned char* _font = NULL; | ||
704 | |||
705 | int lcd_init_fonts(void) | ||
706 | { | ||
707 | if (!_font) | ||
708 | _font = ajf_read_font("/system.ajf"); | ||
709 | |||
710 | if (!_font) | ||
711 | { | ||
712 | lcd_putsxy(0,0,"No font", 0); | ||
713 | return -1; | ||
714 | } | ||
715 | |||
716 | return 0; | ||
717 | } | ||
718 | |||
719 | void lcd_setldfont(unsigned char* f) | ||
720 | { | ||
721 | _font = f; | ||
722 | } | ||
723 | |||
724 | unsigned char* lcd_getcurrentldfont() | ||
725 | { | ||
726 | if (!_font) | ||
727 | panicf("No font loaded!"); | ||
728 | return _font; | ||
729 | } | ||
730 | |||
731 | /* | ||
732 | * Return width and height of a string with a given font. | ||
733 | */ | ||
734 | int lcd_getstringsize(unsigned char *str, unsigned char* font, int *w, int *h) | ||
735 | { | ||
736 | int width=0; | ||
737 | int height=0; | ||
738 | unsigned char ch; | ||
739 | |||
740 | if (!font) | ||
741 | panicf("No font specified"); | ||
742 | |||
743 | while((ch = *str++)) | ||
744 | { | ||
745 | int dw,dh; | ||
746 | ajf_get_charsize(ch, font, &dw, &dh); | ||
747 | if (dh>height) | ||
748 | height = dh; | ||
749 | width+=dw; | ||
750 | } | ||
751 | *w = width; | ||
752 | *h = height; | ||
753 | |||
754 | return width; | ||
755 | } | ||
756 | |||
757 | /* | ||
758 | * Put a string at specified bit position | ||
759 | */ | ||
760 | |||
761 | void lcd_putsldfxy(int x, int y, unsigned char *str) | ||
762 | { | ||
763 | unsigned char ch; | ||
764 | int nx; | ||
765 | int ny=8; | ||
766 | int lcd_x = x; | ||
767 | int lcd_y = y; | ||
768 | if (!_font) | ||
769 | { | ||
770 | lcd_putsxy(0,0,"No font", 0); | ||
771 | return; | ||
772 | } | ||
773 | ny = (int)_font[2]; | ||
774 | while (((ch = *str++) != '\0')) | ||
775 | { | ||
776 | unsigned char *char_buf = ajf_get_charbuf(ch, _font, &nx, &ny); | ||
777 | if (!char_buf) | ||
778 | { | ||
779 | char_buf = ajf_get_charbuf('?', _font, &nx, &ny); | ||
780 | if (!char_buf) | ||
781 | panicf("Bad font"); | ||
782 | } | ||
783 | if(lcd_x + nx > LCD_WIDTH) | ||
784 | break; | ||
785 | |||
786 | lcd_bitmap (&char_buf[0], lcd_x, lcd_y, nx, ny, true); | ||
787 | lcd_x += nx; | ||
788 | } | ||
789 | } | ||
790 | #endif | ||
791 | |||
792 | |||
793 | #ifdef LCD_PROPFONTS | ||
794 | |||
795 | extern unsigned char char_dw_8x8_prop[][9]; | ||
796 | |||
797 | /* | ||
798 | * Return width and height of a given font. | ||
799 | */ | ||
800 | int lcd_getstringsize(unsigned char *str, unsigned int font, int *w, int *h) | ||
801 | { | ||
802 | int width=0; | ||
803 | unsigned char ch, byte; | ||
804 | (void)font; | ||
805 | |||
806 | while((ch = *str++)) { | ||
807 | /* Limit to char generation table */ | ||
808 | if (ch < ASCII_MIN) | ||
809 | /* replace unsupported letters with question marks */ | ||
810 | ch = ' '-ASCII_MIN; | ||
811 | else | ||
812 | ch -= ASCII_MIN; | ||
813 | |||
814 | byte = char_dw_8x8_prop[ch][8]; | ||
815 | width += (byte>>4) + 1; | ||
816 | } | ||
817 | *w = width; | ||
818 | *h = 8; | ||
819 | |||
820 | return width; | ||
821 | } | ||
822 | |||
823 | /* | ||
824 | * Put a string at specified bit position | ||
825 | */ | ||
826 | |||
827 | void lcd_putspropxy(int x, int y, unsigned char *str, int thisfont) | ||
828 | { | ||
829 | unsigned int ch; | ||
830 | int nx; | ||
831 | int ny=8; | ||
832 | unsigned char *src; | ||
833 | int lcd_x = x; | ||
834 | int lcd_y = y; | ||
835 | |||
836 | (void)thisfont; | ||
837 | |||
838 | while (((ch = *str++) != '\0')) | ||
839 | { | ||
840 | /* Limit to char generation table */ | ||
841 | if (ch < ASCII_MIN) | ||
842 | /* replace unsupported letters with question marks */ | ||
843 | ch = ' '-ASCII_MIN; | ||
844 | else | ||
845 | ch -= ASCII_MIN; | ||
846 | |||
847 | nx = char_dw_8x8_prop[ch][8] >> 4; | ||
848 | |||
849 | if(lcd_x + nx > LCD_WIDTH) | ||
850 | break; | ||
851 | |||
852 | src = char_dw_8x8_prop[ch]; | ||
853 | lcd_clearrect (lcd_x+nx, lcd_y, 1, ny ); | ||
854 | lcd_bitmap (src, lcd_x, lcd_y, nx, ny, true); | ||
855 | |||
856 | lcd_x += nx+1; | ||
857 | } | ||
858 | } | ||
859 | |||
860 | #endif | ||
861 | |||
862 | /* | 685 | /* |
863 | * Put a string at specified character position | 686 | * Put a string at specified character position |
864 | */ | 687 | */ |
688 | //FIXME require font parameter | ||
865 | void lcd_puts(int x, int y, unsigned char *str) | 689 | void lcd_puts(int x, int y, unsigned char *str) |
866 | { | 690 | { |
867 | int xpos,ypos,w,h; | 691 | int xpos,ypos,w,h; |
692 | |||
868 | #if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS) | 693 | #if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS) |
869 | /* We make the simulator truncate the string if it reaches the right edge, | 694 | /* We make the simulator truncate the string if it reaches the right edge, |
870 | as otherwise it'll wrap. The real target doesn't wrap. */ | 695 | as otherwise it'll wrap. The real target doesn't wrap. */ |
@@ -882,23 +707,10 @@ void lcd_puts(int x, int y, unsigned char *str) | |||
882 | if(!str || !str[0]) | 707 | if(!str || !str[0]) |
883 | return; | 708 | return; |
884 | 709 | ||
885 | #ifdef LCD_PROPFONTS | ||
886 | lcd_getstringsize(str, font, &w, &h); | 710 | lcd_getstringsize(str, font, &w, &h); |
887 | xpos = xmargin + x * fonts[font]; | 711 | xpos = xmargin + x*w / strlen(str); //FIXME why strlen? |
888 | ypos = ymargin + y * fontheight[font]; | 712 | ypos = ymargin + y*h; |
889 | lcd_putspropxy(xpos, ypos, str, font); | 713 | lcd_putsxy( xpos, ypos, str, font); |
890 | #elif LOADABLE_FONTS | ||
891 | lcd_getstringsize(str,_font,&w,&h); | ||
892 | xpos = xmargin + x * w / strlen(str); | ||
893 | ypos = ymargin + y * h; | ||
894 | lcd_putsldfxy(xpos, ypos, str); | ||
895 | #else | ||
896 | xpos = xmargin + x * fonts[font]; | ||
897 | ypos = ymargin + y * fontheight[font]; | ||
898 | lcd_putsxy(xpos, ypos, str, font); | ||
899 | w = strlen(str) * fonts[font]; | ||
900 | h = fontheight[font]; | ||
901 | #endif | ||
902 | lcd_clearrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); | 714 | lcd_clearrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); |
903 | #if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS) | 715 | #if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS) |
904 | /* this function is being used when simulating a charcell LCD and | 716 | /* this function is being used when simulating a charcell LCD and |
@@ -907,58 +719,6 @@ void lcd_puts(int x, int y, unsigned char *str) | |||
907 | #endif | 719 | #endif |
908 | } | 720 | } |
909 | 721 | ||
910 | |||
911 | /* | ||
912 | * Put a string at specified bit position | ||
913 | */ | ||
914 | void lcd_putsxy(int x, int y, unsigned char *str, int thisfont) | ||
915 | { | ||
916 | #ifdef LCD_PROPFONTS | ||
917 | lcd_putspropxy(x,y,str,thisfont); | ||
918 | #else | ||
919 | |||
920 | int nx = fonts[thisfont]; | ||
921 | int ny = fontheight[thisfont]; | ||
922 | int ch; | ||
923 | unsigned char *src; | ||
924 | int lcd_x = x; | ||
925 | int lcd_y = y; | ||
926 | |||
927 | #ifdef LOADABLE_FONTS | ||
928 | if ( _font ) { | ||
929 | lcd_putsldfxy(x,y,str); | ||
930 | return; | ||
931 | } | ||
932 | #endif | ||
933 | |||
934 | while (((ch = *str++) != '\0') && (lcd_x + nx <= LCD_WIDTH)) | ||
935 | { | ||
936 | if (lcd_y + ny > LCD_HEIGHT) | ||
937 | return; | ||
938 | |||
939 | /* Limit to char generation table */ | ||
940 | if ((ch < ASCII_MIN) || (ch > ASCII_MAX)) | ||
941 | /* replace unsupported letters with question marks */ | ||
942 | ch = '?' - ASCII_MIN; | ||
943 | else | ||
944 | ch -= ASCII_MIN; | ||
945 | |||
946 | if (thisfont == 2) | ||
947 | src = char_gen_12x16[ch]; | ||
948 | else if (thisfont == 1) | ||
949 | src = char_gen_8x12[ch]; | ||
950 | else | ||
951 | src = char_gen_6x8[ch]; | ||
952 | |||
953 | lcd_bitmap (src, lcd_x, lcd_y, nx-1, ny, true); | ||
954 | lcd_bitmap (zeros, lcd_x+nx-1, lcd_y, 1, ny, true); | ||
955 | |||
956 | lcd_x += nx; | ||
957 | |||
958 | } | ||
959 | #endif | ||
960 | } | ||
961 | |||
962 | /* | 722 | /* |
963 | * Display a bitmap at (x, y), size (nx, ny) | 723 | * Display a bitmap at (x, y), size (nx, ny) |
964 | * clear is true to clear destination area first | 724 | * clear is true to clear destination area first |
@@ -1265,17 +1025,6 @@ void lcd_invertpixel(int x, int y) | |||
1265 | INVERT_PIXEL(x,y); | 1025 | INVERT_PIXEL(x,y); |
1266 | } | 1026 | } |
1267 | 1027 | ||
1268 | /* | ||
1269 | * Return width and height of a given font. | ||
1270 | */ | ||
1271 | void lcd_getfontsize(unsigned int font, int *width, int *height) | ||
1272 | { | ||
1273 | if(font < sizeof(fonts)) { | ||
1274 | *width = fonts[font]; | ||
1275 | *height = fontheight[font]; | ||
1276 | } | ||
1277 | } | ||
1278 | |||
1279 | #else | 1028 | #else |
1280 | /* no LCD defined, no code to use */ | 1029 | /* no LCD defined, no code to use */ |
1281 | #endif | 1030 | #endif |
@@ -1286,47 +1035,31 @@ void lcd_puts_scroll(int x, int y, unsigned char* string ) | |||
1286 | #ifdef HAVE_LCD_CHARCELLS | 1035 | #ifdef HAVE_LCD_CHARCELLS |
1287 | s->space = 11 - x; | 1036 | s->space = 11 - x; |
1288 | #else | 1037 | #else |
1289 | |||
1290 | #if defined(LCD_PROPFONTS) || defined(LOADABLE_FONTS) | ||
1291 | unsigned char ch[2]; | 1038 | unsigned char ch[2]; |
1292 | int w, h; | 1039 | int w, h; |
1293 | #endif | ||
1294 | int width, height; | 1040 | int width, height; |
1295 | lcd_getfontsize(font, &width, &height); | 1041 | lcd_getfontsize(font, &width, &height); |
1296 | #if defined(LCD_PROPFONTS) || defined(LOADABLE_FONTS) | 1042 | |
1297 | ch[1] = 0; /* zero terminate */ | 1043 | ch[1] = 0; /* zero terminate */ |
1298 | ch[0] = string[0]; | 1044 | ch[0] = string[0]; |
1299 | width = 0; | 1045 | width = 0; |
1300 | s->space = 0; | 1046 | s->space = 0; |
1301 | while ( ch[0] && | 1047 | while ( ch[0] && |
1302 | #ifdef LCD_PROPFONTS | ||
1303 | (width + lcd_getstringsize(ch, 0, &w, &h) < | 1048 | (width + lcd_getstringsize(ch, 0, &w, &h) < |
1304 | (LCD_WIDTH - x*8))) { | 1049 | (LCD_WIDTH - x*8))) { |
1305 | #else | ||
1306 | (width + lcd_getstringsize(ch, _font, &w, &h) < | ||
1307 | (LCD_WIDTH - x*8))) { | ||
1308 | #endif | ||
1309 | width += w; | 1050 | width += w; |
1310 | s->space++; | 1051 | s->space++; |
1311 | ch[0]=string[s->space]; | 1052 | ch[0]=string[s->space]; |
1312 | } | 1053 | } |
1313 | #else | ||
1314 | s->space = (LCD_WIDTH - xmargin - x*width) / width; | ||
1315 | #endif | ||
1316 | #endif | 1054 | #endif |
1317 | 1055 | ||
1318 | lcd_puts(x,y,string); | 1056 | lcd_puts(x,y,string); |
1319 | s->textlen = strlen(string); | 1057 | s->textlen = strlen(string); |
1320 | 1058 | ||
1321 | 1059 | #ifdef HAVE_LCD_BITMAP | |
1322 | #if defined(LCD_PROPFONTS) | ||
1323 | s->space += 2; | 1060 | s->space += 2; |
1324 | lcd_getstringsize(string,0,&w,&h); | 1061 | lcd_getstringsize(string,0,&w,&h); |
1325 | if ( w > LCD_WIDTH - xmargin ) { | 1062 | if ( w > LCD_WIDTH - xmargin ) { |
1326 | #elif defined(LOADABLE_FONTS) | ||
1327 | s->space += 2; | ||
1328 | lcd_getstringsize(string,_font,&w,&h); | ||
1329 | if ( w > LCD_WIDTH - xmargin ) { | ||
1330 | #else | 1063 | #else |
1331 | if ( s->textlen > s->space ) { | 1064 | if ( s->textlen > s->space ) { |
1332 | #endif | 1065 | #endif |
@@ -1344,32 +1077,24 @@ void lcd_puts_scroll(int x, int y, unsigned char* string ) | |||
1344 | } | 1077 | } |
1345 | } | 1078 | } |
1346 | 1079 | ||
1080 | |||
1347 | void lcd_stop_scroll(void) | 1081 | void lcd_stop_scroll(void) |
1348 | { | 1082 | { |
1349 | if ( scroll_count ) { | 1083 | if ( scroll_count ) { |
1350 | struct scrollinfo* s = &scroll; | 1084 | struct scrollinfo* s = &scroll; |
1351 | scroll_count = 0; | 1085 | scroll_count = 0; |
1352 | |||
1353 | #ifdef LCD_PROPFONTS | ||
1354 | 1086 | ||
1355 | lcd_clearrect(xmargin + s->startx*fonts[font], | 1087 | #ifdef HAVE_LCD_BITMAP |
1356 | ymargin + s->starty*fontheight[font], | ||
1357 | LCD_WIDTH - xmargin, | ||
1358 | fontheight[font]); | ||
1359 | |||
1360 | #elif defined(LOADABLE_FONTS) | ||
1361 | { | 1088 | { |
1362 | int w,h; | 1089 | int w,h; |
1363 | lcd_getstringsize( s->text, _font, &w, &h); | 1090 | /* FIXME no font index */ |
1091 | lcd_getstringsize( s->text, FONT_UI, &w, &h); | ||
1364 | lcd_clearrect(xmargin + s->startx*w/s->textlen, | 1092 | lcd_clearrect(xmargin + s->startx*w/s->textlen, |
1365 | ymargin + s->starty*h, | 1093 | ymargin + s->starty*h, |
1366 | LCD_WIDTH - xmargin, | 1094 | LCD_WIDTH - xmargin, |
1367 | h); | 1095 | h); |
1368 | |||
1369 | } | 1096 | } |
1370 | #endif | 1097 | #endif |
1371 | |||
1372 | |||
1373 | /* restore scrolled row */ | 1098 | /* restore scrolled row */ |
1374 | lcd_puts(s->startx,s->starty,s->text); | 1099 | lcd_puts(s->startx,s->starty,s->text); |
1375 | lcd_update(); | 1100 | lcd_update(); |
@@ -1420,20 +1145,16 @@ static void scroll_thread(void) | |||
1420 | s->offset = 0; | 1145 | s->offset = 0; |
1421 | } | 1146 | } |
1422 | 1147 | ||
1423 | #ifdef LCD_PROPFONTS | 1148 | #ifdef HAVE_LCD_BITMAP |
1424 | lcd_clearrect(xmargin + s->startx*fonts[font], | 1149 | { |
1425 | ymargin + s->starty*fontheight[font], | 1150 | /* FIXME no font index */ |
1426 | LCD_WIDTH - xmargin, | 1151 | int w, h; |
1427 | fontheight[font]); | 1152 | lcd_getstringsize( s->text, FONT_UI, &w, &h); |
1428 | #elif defined(LOADABLE_FONTS) | ||
1429 | { | ||
1430 | int w,h; | ||
1431 | lcd_getstringsize( s->text, _font, &w, &h); | ||
1432 | lcd_clearrect(xmargin + s->startx*w/s->textlen, | 1153 | lcd_clearrect(xmargin + s->startx*w/s->textlen, |
1433 | ymargin + s->starty*h, | 1154 | ymargin + s->starty*h, |
1434 | LCD_WIDTH - xmargin, | 1155 | LCD_WIDTH - xmargin, |
1435 | h); | 1156 | h); |
1436 | } | 1157 | } |
1437 | #endif | 1158 | #endif |
1438 | lcd_puts(s->startx,s->starty,s->line); | 1159 | lcd_puts(s->startx,s->starty,s->line); |
1439 | lcd_update(); | 1160 | lcd_update(); |
diff --git a/firmware/drivers/lcd.h b/firmware/drivers/lcd.h index 552de9a74f..23b3d75e76 100644 --- a/firmware/drivers/lcd.h +++ b/firmware/drivers/lcd.h | |||
@@ -101,7 +101,7 @@ extern unsigned char lcd_framebuffer[LCD_WIDTH][LCD_HEIGHT/8]; | |||
101 | 101 | ||
102 | extern void lcd_putsxy(int x, int y, unsigned char *string, int font); | 102 | extern void lcd_putsxy(int x, int y, unsigned char *string, int font); |
103 | extern void lcd_setfont(int font); | 103 | extern void lcd_setfont(int font); |
104 | extern void lcd_getfontsize(unsigned int font, int *width, int *height); | 104 | extern void lcd_getfontsize(int font, int *width, int *height); |
105 | extern void lcd_setmargins(int xmargin, int ymargin); | 105 | extern void lcd_setmargins(int xmargin, int ymargin); |
106 | extern int lcd_getxmargin(void); | 106 | extern int lcd_getxmargin(void); |
107 | extern int lcd_getymargin(void); | 107 | extern int lcd_getymargin(void); |
@@ -119,19 +119,6 @@ extern void lcd_invertpixel(int x, int y); | |||
119 | 119 | ||
120 | #endif /* CHARCELLS / BITMAP */ | 120 | #endif /* CHARCELLS / BITMAP */ |
121 | 121 | ||
122 | #ifdef LOADABLE_FONTS | 122 | extern int lcd_getstringsize(unsigned char *str, int font, int *w, int *h); |
123 | extern int lcd_init_fonts(void); | ||
124 | extern void lcd_putsldfxy(int x, int y, unsigned char *str); | ||
125 | extern int lcd_getstringsize(unsigned char *str, | ||
126 | unsigned char* font, | ||
127 | int *w, int *h); | ||
128 | extern void lcd_setldfont(unsigned char* f); | ||
129 | |||
130 | extern unsigned char* lcd_getcurrentldfont(void); | ||
131 | #endif | ||
132 | |||
133 | #ifdef LCD_PROPFONTS | ||
134 | extern int lcd_getstringsize(unsigned char *str, unsigned int font, int *w, int *h); | ||
135 | #endif | ||
136 | 123 | ||
137 | #endif /* __LCD_H__ */ | 124 | #endif /* __LCD_H__ */ |
diff --git a/firmware/font.c b/firmware/font.c new file mode 100644 index 0000000000..5bde2ff1bc --- /dev/null +++ b/firmware/font.c | |||
@@ -0,0 +1,228 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (c) 2002 by Greg Haerr <greg@censoft.com> | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | /* | ||
20 | * Rockbox startup font initialization | ||
21 | * This file specifies which fonts get compiled-in and | ||
22 | * loaded at startup, as well as their mapping into | ||
23 | * the FONT_SYSFIXED, FONT_UI and FONT_MP3 ids. | ||
24 | */ | ||
25 | #include "config.h" | ||
26 | |||
27 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | ||
28 | |||
29 | #include <stdio.h> | ||
30 | #include <string.h> | ||
31 | #include "lcd.h" | ||
32 | #include "font.h" | ||
33 | #include "debug.h" | ||
34 | #include "panic.h" | ||
35 | |||
36 | /* available compiled-in fonts*/ | ||
37 | extern MWCFONT font_X5x8; | ||
38 | /*extern MWCFONT font_X6x9; */ | ||
39 | /*extern MWCFONT font_courB08; */ | ||
40 | /*extern MWCFONT font_timR08; */ | ||
41 | |||
42 | /* structure filled in by rbf_load_font*/ | ||
43 | static MWCFONT font_UI; | ||
44 | |||
45 | /* system font table, in order of FONT_xxx definition*/ | ||
46 | struct corefont sysfonts[MAXFONTS] = { | ||
47 | { &font_X5x8, NULL }, /* compiled-in FONT_SYSFIXED*/ | ||
48 | { &font_UI, "/system.fnt" }, /* loaded FONT_UI*/ | ||
49 | { NULL, NULL }, /* no FONT_MP3*/ | ||
50 | }; | ||
51 | |||
52 | void | ||
53 | font_init(void) | ||
54 | { | ||
55 | struct corefont *cfp; | ||
56 | |||
57 | for (cfp=sysfonts; cfp < &sysfonts[MAXFONTS]; ++cfp) { | ||
58 | if (cfp->pf && cfp->diskname) { | ||
59 | cfp->pf = rbf_load_font(cfp->diskname, cfp->pf); | ||
60 | #if defined(DEBUG) || defined(SIMULATOR) | ||
61 | if (!cfp->pf) | ||
62 | DEBUGF("Font load failed: %s\n", cfp->diskname); | ||
63 | #endif | ||
64 | } | ||
65 | } | ||
66 | } | ||
67 | |||
68 | /* | ||
69 | * Return a pointer to an incore font structure. | ||
70 | * If the requested font isn't loaded/compiled-in, | ||
71 | * decrement the font number and try again. | ||
72 | */ | ||
73 | PMWCFONT | ||
74 | getfont(int font) | ||
75 | { | ||
76 | PMWCFONT pf; | ||
77 | |||
78 | while (1) { | ||
79 | pf = sysfonts[font].pf; | ||
80 | if (pf && pf->height) | ||
81 | return pf; | ||
82 | if (--font < 0) | ||
83 | panicf("No font!"); | ||
84 | } | ||
85 | } | ||
86 | |||
87 | /* | ||
88 | * Return width and height of a given font. | ||
89 | */ | ||
90 | void lcd_getfontsize(int font, int *width, int *height) | ||
91 | { | ||
92 | PMWCFONT pf = getfont(font); | ||
93 | |||
94 | *width = pf->maxwidth; | ||
95 | *height = pf->height; | ||
96 | } | ||
97 | |||
98 | /* | ||
99 | * Return width and height of a given font. | ||
100 | */ | ||
101 | //FIXME rename to font_gettextsize, add baseline | ||
102 | int | ||
103 | lcd_getstringsize(unsigned char *str, int font, int *w, int *h) | ||
104 | { | ||
105 | PMWCFONT pf = getfont(font); | ||
106 | int ch; | ||
107 | int width = 0; | ||
108 | |||
109 | while((ch = *str++)) { | ||
110 | |||
111 | /* check input range*/ | ||
112 | if (ch < pf->firstchar || ch >= pf->firstchar+pf->size) | ||
113 | ch = pf->defaultchar; | ||
114 | ch -= pf->firstchar; | ||
115 | |||
116 | /* get proportional width and glyph bits*/ | ||
117 | width += pf->width? pf->width[ch]: pf->maxwidth; | ||
118 | } | ||
119 | *w = width; | ||
120 | *h = pf->height; | ||
121 | |||
122 | return width; | ||
123 | } | ||
124 | |||
125 | /* | ||
126 | * Take an MWIMAGEBITS bitmap and convert to Rockbox format. | ||
127 | * Used for converting font glyphs for the time being. | ||
128 | * Can use for standard X11 and Win32 images as well. | ||
129 | * | ||
130 | * Doing it this way keeps fonts in standard formats, | ||
131 | * as well as keeping Rockbox hw bitmap format. | ||
132 | */ | ||
133 | static void | ||
134 | rotleft(unsigned char *dst, MWIMAGEBITS *src, unsigned int width, | ||
135 | unsigned int height) | ||
136 | { | ||
137 | unsigned int i,j; | ||
138 | unsigned int dst_col = 0; /* destination column*/ | ||
139 | unsigned int dst_shift = 0; /* destination shift amount*/ | ||
140 | unsigned int dst_linelen; /* # bytes per output row*/ | ||
141 | unsigned int src_words; /* # words of input image*/ | ||
142 | |||
143 | /* calc bytes per output row*/ | ||
144 | dst_linelen = (height-1)/8+1; | ||
145 | |||
146 | /* calc words of input image*/ | ||
147 | src_words = MWIMAGE_WORDS(width) * height; | ||
148 | |||
149 | /* clear background*/ | ||
150 | memset(dst, 0, dst_linelen*height); | ||
151 | |||
152 | for (i=0; i < src_words; i++) { | ||
153 | MWIMAGEBITS srcmap; /* current src input bit*/ | ||
154 | MWIMAGEBITS dstmap; /* current dst output bit*/ | ||
155 | |||
156 | /* calc src input bit*/ | ||
157 | srcmap = 1 << (sizeof(MWIMAGEBITS)*8-1); | ||
158 | |||
159 | /* calc dst output bit*/ | ||
160 | if (i>0 && (i%8==0)) { | ||
161 | ++dst_col; | ||
162 | dst_shift = 0; | ||
163 | } | ||
164 | dstmap = 1 << dst_shift++; | ||
165 | |||
166 | /* for each input column...*/ | ||
167 | for(j=0; j < width; j++) { | ||
168 | |||
169 | /* calc input bitmask*/ | ||
170 | MWIMAGEBITS bit = srcmap >> j; | ||
171 | if (bit==0) { | ||
172 | srcmap = 1 << (sizeof(MWIMAGEBITS)*8-1); | ||
173 | bit = srcmap >> (j % 16); | ||
174 | } | ||
175 | |||
176 | /* if set in input, set in rotated output*/ | ||
177 | if (bit & src[i]) { | ||
178 | /* input column j becomes output row*/ | ||
179 | dst[j*dst_linelen + dst_col] |= dstmap; | ||
180 | } | ||
181 | //printf((bit & src[i])? "*": "."); | ||
182 | } | ||
183 | //printf("\n"); | ||
184 | } | ||
185 | } | ||
186 | |||
187 | /* | ||
188 | * Put a string at specified bit position | ||
189 | */ | ||
190 | //FIXME rename font_putsxy? | ||
191 | void | ||
192 | lcd_putsxy(int x, int y, unsigned char *str, int font) | ||
193 | { | ||
194 | int ch; | ||
195 | unsigned char *src; | ||
196 | PMWCFONT pf = getfont(font); | ||
197 | |||
198 | while (((ch = *str++) != '\0')) { | ||
199 | MWIMAGEBITS *bits; | ||
200 | int width; | ||
201 | unsigned char outbuf[256]; | ||
202 | |||
203 | /* check input range*/ | ||
204 | if (ch < pf->firstchar || ch >= pf->firstchar+pf->size) | ||
205 | ch = pf->defaultchar; | ||
206 | ch -= pf->firstchar; | ||
207 | |||
208 | /* get proportional width and glyph bits*/ | ||
209 | width = pf->width? pf->width[ch]: pf->maxwidth; | ||
210 | if(x + width > LCD_WIDTH) | ||
211 | break; | ||
212 | bits = pf->bits + (pf->offset? pf->offset[ch]: (pf->height * ch)); | ||
213 | |||
214 | /* rotate left for lcd_bitmap function input*/ | ||
215 | rotleft(outbuf, bits, width, pf->height); | ||
216 | src = outbuf; | ||
217 | |||
218 | lcd_bitmap (src, x, y, width, pf->height, true); | ||
219 | x += width; | ||
220 | } | ||
221 | } | ||
222 | #endif /* HAVE_LCD_BITMAP */ | ||
223 | |||
224 | /* ----------------------------------------------------------------- | ||
225 | * local variables: | ||
226 | * eval: (load-file "rockbox-mode.el") | ||
227 | * end: | ||
228 | */ | ||
diff --git a/firmware/font.h b/firmware/font.h new file mode 100644 index 0000000000..13d60e560b --- /dev/null +++ b/firmware/font.h | |||
@@ -0,0 +1,126 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (c) 2002 by Greg Haerr <greg@censoft.com> | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | /* | ||
20 | * Incore font and image definitions | ||
21 | */ | ||
22 | #include "config.h" | ||
23 | |||
24 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | ||
25 | |||
26 | /* max static loadable fonts buffer*/ | ||
27 | #ifndef MAX_FONT_SIZE | ||
28 | #define MAX_FONT_SIZE 9000 /* max total fontsize allocation*/ | ||
29 | #endif | ||
30 | |||
31 | /* | ||
32 | * Fonts are specified by number, and used for display | ||
33 | * of menu information as well as mp3 filename data. | ||
34 | * At system startup, up to MAXFONTS fonts are initialized, | ||
35 | * either by being compiled-in, or loaded from disk. | ||
36 | * If the font asked for does not exist, then the | ||
37 | * system uses the next lower font number. Font 0 | ||
38 | * must be available at system startup. | ||
39 | * Fonts are specified in firmware/font.c. | ||
40 | */ | ||
41 | #define FONT_SYSFIXED 0 /* system fixed pitch font*/ | ||
42 | #define FONT_UI 1 /* system porportional font*/ | ||
43 | #define FONT_MP3 2 /* font used for mp3 info*/ | ||
44 | #define MAXFONTS 3 /* max # fonts*/ | ||
45 | |||
46 | /* | ||
47 | * .fnt (.rbf) loadable font file format definition | ||
48 | * | ||
49 | * format len description | ||
50 | * ------------------------- ---- ------------------------------ | ||
51 | * UCHAR version[4] 4 magic number and version bytes | ||
52 | * UCHAR name[64] 64 font name, space padded | ||
53 | * UCHAR copyright[256] 256 copyright info, space padded | ||
54 | * USHORT maxwidth 2 font max width in pixels | ||
55 | * USHORT height 2 font height in pixels | ||
56 | * USHORT ascent 2 font ascent (baseline) in pixels | ||
57 | * ULONG firstchar 4 first character code in font | ||
58 | * ULONG defaultchar 4 default character code in font | ||
59 | * ULONG size 4 # characters in font | ||
60 | * ULONG nbits 4 # words imagebits data in file | ||
61 | * ULONG noffset 4 # longs offset data in file | ||
62 | * ULONG nwidth 4 # bytes width data in file | ||
63 | * MWIMAGEBITS bits nbits*2 image bits variable data | ||
64 | * ULONG offset noffset*4 offset variable data | ||
65 | * UCHAR width nwidth*1 width variable data | ||
66 | */ | ||
67 | |||
68 | /* loadable font magic and version #*/ | ||
69 | #define VERSION "RB10" | ||
70 | |||
71 | /* MWIMAGEBITS helper macros*/ | ||
72 | #define MWIMAGE_WORDS(x) (((x)+15)/16) /* image size in words*/ | ||
73 | #define MWIMAGE_BYTES(x) (((x)+7)/8) /* image size in bytes*/ | ||
74 | #define MWIMAGE_BITSPERIMAGE (sizeof(MWIMAGEBITS) * 8) | ||
75 | #define MWIMAGE_BITVALUE(n) ((MWIMAGEBITS) (((MWIMAGEBITS) 1) << (n))) | ||
76 | #define MWIMAGE_FIRSTBIT (MWIMAGE_BITVALUE(MWIMAGE_BITSPERIMAGE - 1)) | ||
77 | #define MWIMAGE_TESTBIT(m) ((m) & MWIMAGE_FIRSTBIT) | ||
78 | #define MWIMAGE_SHIFTBIT(m) ((MWIMAGEBITS) ((m) << 1)) | ||
79 | |||
80 | typedef unsigned short MWIMAGEBITS; /* bitmap image unit size*/ | ||
81 | |||
82 | /* builtin C-based proportional/fixed font structure */ | ||
83 | /* based on The Microwindows Project http://microwindows.org */ | ||
84 | typedef struct { | ||
85 | char * name; /* font name*/ | ||
86 | int maxwidth; /* max width in pixels*/ | ||
87 | unsigned int height; /* height in pixels*/ | ||
88 | int ascent; /* ascent (baseline) height*/ | ||
89 | int firstchar; /* first character in bitmap*/ | ||
90 | int size; /* font size in glyphs*/ | ||
91 | MWIMAGEBITS *bits; /* 16-bit right-padded bitmap data*/ | ||
92 | unsigned long *offset; /* offsets into bitmap data*/ | ||
93 | unsigned char *width; /* character widths or NULL if fixed*/ | ||
94 | int defaultchar; /* default char (not glyph index)*/ | ||
95 | long bits_size; /* # words of MWIMAGEBITS bits*/ | ||
96 | #if 0 | ||
97 | char * facename; /* facename of font*/ | ||
98 | char * copyright; /* copyright info for loadable fonts*/ | ||
99 | #endif | ||
100 | } MWCFONT, *PMWCFONT; | ||
101 | |||
102 | /* structure for rockbox startup font selection*/ | ||
103 | struct corefont { | ||
104 | PMWCFONT pf; /* compiled-in or loaded font*/ | ||
105 | char *diskname; /* diskname if not compiled-in*/ | ||
106 | }; | ||
107 | |||
108 | extern struct corefont sysfonts[MAXFONTS]; | ||
109 | |||
110 | /* font routines*/ | ||
111 | PMWCFONT getfont(int font); | ||
112 | PMWCFONT rbf_load_font(char *path, PMWCFONT pf); | ||
113 | |||
114 | void font_init(void); | ||
115 | |||
116 | #else /* HAVE_LCD_BITMAP */ | ||
117 | |||
118 | #define font_init() | ||
119 | |||
120 | #endif | ||
121 | |||
122 | /* ----------------------------------------------------------------- | ||
123 | * local variables: | ||
124 | * eval: (load-file "rockbox-mode.el") | ||
125 | * end: | ||
126 | */ | ||
diff --git a/firmware/loadfont.c b/firmware/loadfont.c new file mode 100644 index 0000000000..7f572a4841 --- /dev/null +++ b/firmware/loadfont.c | |||
@@ -0,0 +1,202 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (c) 2002 by Greg Haerr <greg@censoft.com> | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | /* | ||
20 | * Load an rbf font, store in incore format. | ||
21 | */ | ||
22 | #include "config.h" | ||
23 | |||
24 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | ||
25 | |||
26 | #include <stdio.h> | ||
27 | #include <string.h> | ||
28 | #include "font.h" | ||
29 | #include "file.h" | ||
30 | |||
31 | #ifndef DEBUGF | ||
32 | #include "debug.h" | ||
33 | #endif | ||
34 | |||
35 | #ifndef O_BINARY | ||
36 | #define O_BINARY 0 | ||
37 | #endif | ||
38 | |||
39 | /* static buffer allocation structures*/ | ||
40 | static unsigned char mbuf[MAX_FONT_SIZE]; | ||
41 | static unsigned char *freeptr = mbuf; | ||
42 | typedef unsigned char CFILE; | ||
43 | static CFILE *fileptr; | ||
44 | static CFILE *eofptr; | ||
45 | |||
46 | static int | ||
47 | READSHORT(unsigned short *sp) | ||
48 | { | ||
49 | unsigned short s; | ||
50 | |||
51 | s = *fileptr++ & 0xff; | ||
52 | *sp = (*fileptr++ << 8) | s; | ||
53 | return (fileptr <= eofptr); | ||
54 | } | ||
55 | |||
56 | static int | ||
57 | READLONG(unsigned long *lp) | ||
58 | { | ||
59 | unsigned long l; | ||
60 | |||
61 | l = *fileptr++ & 0xff; | ||
62 | l |= *fileptr++ << 8; | ||
63 | l |= *fileptr++ << 16; | ||
64 | *lp = (*fileptr++ << 24) | l; | ||
65 | return (fileptr <= eofptr); | ||
66 | } | ||
67 | |||
68 | /* read count bytes*/ | ||
69 | static int | ||
70 | READSTR(char *buf, int count) | ||
71 | { | ||
72 | int n = count; | ||
73 | |||
74 | while (--n >= 0) | ||
75 | *buf++ = *fileptr++; | ||
76 | return (fileptr <= eofptr)? count: 0; | ||
77 | } | ||
78 | |||
79 | /* read totlen bytes, return NUL terminated string*/ | ||
80 | /* may write 1 past buf[totlen]; removes blank pad*/ | ||
81 | static int | ||
82 | READSTRPAD(char *buf, int totlen) | ||
83 | { | ||
84 | char *p = buf; | ||
85 | int n = totlen; | ||
86 | |||
87 | while (--n >= 0) | ||
88 | *p++ = *fileptr++; | ||
89 | if (fileptr > eofptr) | ||
90 | return 0; | ||
91 | |||
92 | p = &buf[totlen]; | ||
93 | *p-- = 0; | ||
94 | while (*p == ' ' && p >= buf) | ||
95 | *p-- = '\0'; | ||
96 | return totlen; | ||
97 | } | ||
98 | |||
99 | /* read and load font into incore font structure*/ | ||
100 | PMWCFONT | ||
101 | rbf_load_font(char *path, PMWCFONT pf) | ||
102 | { | ||
103 | int fd, filesize; | ||
104 | unsigned short maxwidth, height, ascent; | ||
105 | unsigned long firstchar, defaultchar, size; | ||
106 | unsigned long nbits, noffset, nwidth; | ||
107 | char version[4+1]; | ||
108 | char copyright[256+1]; | ||
109 | |||
110 | memset(pf, 0, sizeof(MWCFONT)); | ||
111 | |||
112 | /* open and read entire font file*/ | ||
113 | fd = open(path, O_RDONLY|O_BINARY); | ||
114 | if (fd < 0) { | ||
115 | DEBUGF("Can't open font: %s\n", path); | ||
116 | return NULL; | ||
117 | } | ||
118 | fileptr = freeptr; | ||
119 | filesize = read(fd, fileptr, MAX_FONT_SIZE); | ||
120 | freeptr += filesize; | ||
121 | eofptr = fileptr + filesize; | ||
122 | close(fd); | ||
123 | if (filesize == MAX_FONT_SIZE) { | ||
124 | DEBUGF("Font %s too large: %d\n", path, filesize); | ||
125 | return NULL; | ||
126 | } | ||
127 | |||
128 | /* read magic and version #*/ | ||
129 | memset(version, 0, sizeof(version)); | ||
130 | if (READSTR(version, 4) != 4) | ||
131 | return NULL; | ||
132 | if (strcmp(version, VERSION) != 0) | ||
133 | return NULL; | ||
134 | |||
135 | /* internal font name*/ | ||
136 | pf->name = fileptr; | ||
137 | if (READSTRPAD(pf->name, 64) != 64) | ||
138 | return NULL; | ||
139 | |||
140 | /* copyright, not currently stored*/ | ||
141 | if (READSTRPAD(copyright, 256) != 256) | ||
142 | return NULL; | ||
143 | |||
144 | /* font info*/ | ||
145 | if (!READSHORT(&maxwidth)) | ||
146 | return NULL; | ||
147 | pf->maxwidth = maxwidth; | ||
148 | if (!READSHORT(&height)) | ||
149 | return NULL; | ||
150 | pf->height = height; | ||
151 | if (!READSHORT(&ascent)) | ||
152 | return NULL; | ||
153 | pf->ascent = ascent; | ||
154 | if (!READLONG(&firstchar)) | ||
155 | return NULL; | ||
156 | pf->firstchar = firstchar; | ||
157 | if (!READLONG(&defaultchar)) | ||
158 | return NULL; | ||
159 | pf->defaultchar = defaultchar; | ||
160 | if (!READLONG(&size)) | ||
161 | return NULL; | ||
162 | pf->size = size; | ||
163 | |||
164 | /* get variable font data sizes*/ | ||
165 | /* # words of MWIMAGEBITS*/ | ||
166 | if (!READLONG(&nbits)) | ||
167 | return NULL; | ||
168 | pf->bits_size = nbits; | ||
169 | |||
170 | /* # longs of offset*/ | ||
171 | if (!READLONG(&noffset)) | ||
172 | return NULL; | ||
173 | |||
174 | /* # bytes of width*/ | ||
175 | if (!READLONG(&nwidth)) | ||
176 | return NULL; | ||
177 | |||
178 | /* variable font data*/ | ||
179 | pf->bits = (MWIMAGEBITS *)fileptr; | ||
180 | fileptr += nbits*sizeof(MWIMAGEBITS); | ||
181 | |||
182 | if (noffset) { | ||
183 | pf->offset = (unsigned long *)fileptr; | ||
184 | fileptr += noffset*sizeof(unsigned long); | ||
185 | } else pf->offset = NULL; | ||
186 | |||
187 | if (nwidth) { | ||
188 | pf->width = (unsigned char *)fileptr; | ||
189 | fileptr += noffset*sizeof(unsigned char); | ||
190 | } else pf->width = NULL; | ||
191 | |||
192 | if (fileptr > eofptr) | ||
193 | return NULL; | ||
194 | return pf; /* success!*/ | ||
195 | } | ||
196 | #endif /* HAVE_LCD_BITMAP */ | ||
197 | |||
198 | /* ----------------------------------------------------------------- | ||
199 | * local variables: | ||
200 | * eval: (load-file "rockbox-mode.el") | ||
201 | * end: | ||
202 | */ | ||
diff --git a/firmware/panic.c b/firmware/panic.c index b130482495..10ff454c40 100644 --- a/firmware/panic.c +++ b/firmware/panic.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <stdarg.h> | 21 | #include <stdarg.h> |
22 | #include "panic.h" | 22 | #include "panic.h" |
23 | #include "lcd.h" | 23 | #include "lcd.h" |
24 | #include "font.h" | ||
24 | #include "debug.h" | 25 | #include "debug.h" |
25 | 26 | ||
26 | static char panic_buf[128]; | 27 | static char panic_buf[128]; |
@@ -48,7 +49,9 @@ void panicf( char *fmt, ...) | |||
48 | lcd_puts(0,0,panic_buf); | 49 | lcd_puts(0,0,panic_buf); |
49 | #elif defined(HAVE_LCD_BITMAP) | 50 | #elif defined(HAVE_LCD_BITMAP) |
50 | lcd_clear_display(); | 51 | lcd_clear_display(); |
51 | lcd_putsxy(0,0,panic_buf,0); | 52 | |
53 | //FIXME putsxy may call panic... | ||
54 | lcd_putsxy(0,0,panic_buf,FONT_SYSFIXED); | ||
52 | lcd_update(); | 55 | lcd_update(); |
53 | 56 | ||
54 | #else | 57 | #else |
diff --git a/firmware/unicode.c b/firmware/unicode.c deleted file mode 100644 index 150dd5171e..0000000000 --- a/firmware/unicode.c +++ /dev/null | |||
@@ -1,101 +0,0 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alex Gitelman | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #include "unicode.h" | ||
20 | #include "string.h" | ||
21 | |||
22 | #define MAX_TYPE 3 | ||
23 | |||
24 | unsigned char *conversion_table[255]; | ||
25 | unsigned char *reverse_conversion_table[255]; | ||
26 | |||
27 | static unsigned char page_04[] = { | ||
28 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
29 | 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, | ||
30 | 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, | ||
31 | 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, | ||
32 | 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, | ||
33 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
34 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
35 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
36 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
37 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
38 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
39 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
40 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
41 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
42 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
43 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, | ||
44 | }; | ||
45 | |||
46 | void install_unicode_tables(void) | ||
47 | { | ||
48 | install_conversion_table(0x04, page_04); | ||
49 | } | ||
50 | |||
51 | void unicode_init(void) | ||
52 | { | ||
53 | memset(conversion_table, 0, sizeof(conversion_table)); | ||
54 | memset(reverse_conversion_table, 0, sizeof(reverse_conversion_table)); | ||
55 | install_unicode_tables(); | ||
56 | } | ||
57 | |||
58 | /** | ||
59 | Convertion table defines how chars in ing given page map to ascii | ||
60 | */ | ||
61 | void install_conversion_table(unsigned char page, unsigned char* conv_table) | ||
62 | { | ||
63 | if (conv_table!=0) | ||
64 | conversion_table[page] = conv_table; | ||
65 | else | ||
66 | conversion_table[page] = 0; | ||
67 | } | ||
68 | |||
69 | void install_reverse_conversion_table(unsigned char page, | ||
70 | unsigned char* rev_conv_table) | ||
71 | { | ||
72 | if (rev_conv_table!=0) | ||
73 | reverse_conversion_table[page] = rev_conv_table; | ||
74 | else | ||
75 | reverse_conversion_table[page] = 0; | ||
76 | } | ||
77 | |||
78 | |||
79 | unsigned char from_unicode(const unsigned char *uni_char) | ||
80 | { | ||
81 | /* | ||
82 | Here we should get proper code page conversions. | ||
83 | For now hack for Cyrrilic->Unicode | ||
84 | */ | ||
85 | unsigned char *table = conversion_table[uni_char[0]]; | ||
86 | if (table!=0) | ||
87 | return table[uni_char[1]]; | ||
88 | /* If page is not present -> no conversion */ | ||
89 | return uni_char[1]; | ||
90 | |||
91 | } | ||
92 | |||
93 | void to_unicode(unsigned char c, unsigned char page, unsigned char *uni_char) | ||
94 | { | ||
95 | unsigned char *table = reverse_conversion_table[page]; | ||
96 | if (table!=0) | ||
97 | uni_char[1] = table[c]; | ||
98 | else | ||
99 | uni_char[1] = c; | ||
100 | uni_char[0] = page; | ||
101 | } | ||
diff --git a/firmware/unicode.h b/firmware/unicode.h deleted file mode 100644 index dfb4daa2c5..0000000000 --- a/firmware/unicode.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alex Gitelman | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifndef __UNICODE__ | ||
20 | #define __UNICODE__ | ||
21 | |||
22 | unsigned char from_unicode(const unsigned char *uni_char); | ||
23 | void to_unicode(unsigned char c, unsigned char page, unsigned char *uni_char); | ||
24 | /* Unicode -> ASCII */ | ||
25 | void install_conversion_table(unsigned char page, unsigned char* conv_table); | ||
26 | /* ASCII -> Unicode */ | ||
27 | void install_reverse_conversion_table(unsigned char page, | ||
28 | unsigned char* rev_conv_table); | ||
29 | void unicode_init(void); | ||
30 | |||
31 | /* Unicode main init point. Here we must read conversion | ||
32 | tables and install them */ | ||
33 | void install_unicode_tables(void); | ||
34 | |||
35 | |||
36 | #endif | ||
diff --git a/uisimulator/x11/Makefile b/uisimulator/x11/Makefile index d2b109e443..c6f86d40ad 100644 --- a/uisimulator/x11/Makefile +++ b/uisimulator/x11/Makefile | |||
@@ -76,13 +76,8 @@ CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) -W -Wall | |||
76 | 76 | ||
77 | APPCFLAGS = $(DEBUG) $(DEFINES) -DAPPSVERSION=\"$(VERSION)\" $(APPINCLUDES) -W -Wall | 77 | APPCFLAGS = $(DEBUG) $(DEFINES) -DAPPSVERSION=\"$(VERSION)\" $(APPINCLUDES) -W -Wall |
78 | 78 | ||
79 | FIRMSRCS = chartables.c lcd.c sprintf.c id3.c debug.c usb.c mpeg.c power.c powermgmt.c | 79 | FIRMSRCS = chartables.c lcd.c sprintf.c id3.c debug.c usb.c mpeg.c power.c\ |
80 | 80 | powermgmt.c font.c X5x8.c loadfont.c panic.c | |
81 | ifeq (LOADABLE_FONTS,$(findstring LOADABLE_FONTS, $(DEFINES))) | ||
82 | FIRMSRCS += unicode.c ajf.c panic.c | ||
83 | EXTRA_TARGETS = $(OBJDIR)/archos/system.ajf | ||
84 | SYSTEM_FONT = $(FIRMWAREDIR)/fonts/alt6x10.bdf | ||
85 | endif | ||
86 | 81 | ||
87 | APPS = main.c tree.c menu.c credits.c main_menu.c\ | 82 | APPS = main.c tree.c menu.c credits.c main_menu.c\ |
88 | playlist.c showtext.c wps.c wps-display.c settings.c status.c icons.c | 83 | playlist.c showtext.c wps.c wps-display.c settings.c status.c icons.c |
@@ -110,9 +105,6 @@ clean: | |||
110 | $(RM) $(OBJS) *~ core $(TARGET) $(CLIENTS) | 105 | $(RM) $(OBJS) *~ core $(TARGET) $(CLIENTS) |
111 | $(RM) -r $(DEPS) | 106 | $(RM) -r $(DEPS) |
112 | 107 | ||
113 | $(OBJDIR)/archos/system.ajf: $(TOOLSDIR)/bdf2ajf $(SYSTEM_FONT) | ||
114 | $(TOOLSDIR)/bdf2ajf -f $(SYSTEM_FONT) -o $(OBJDIR)/archos/system.ajf | ||
115 | |||
116 | distclean: clean | 108 | distclean: clean |
117 | $(RM) config.cache | 109 | $(RM) config.cache |
118 | 110 | ||
@@ -227,6 +219,24 @@ $(OBJDIR)/lcd.o: $(DRIVERS)/lcd.c | |||
227 | $(OBJDIR)/chartables.o: $(FIRMWAREDIR)/chartables.c | 219 | $(OBJDIR)/chartables.o: $(FIRMWAREDIR)/chartables.c |
228 | $(CC) $(APPCFLAGS) -c $< -o $@ | 220 | $(CC) $(APPCFLAGS) -c $< -o $@ |
229 | 221 | ||
222 | $(OBJDIR)/X5x8.o: $(FIRMWAREDIR)/X5x8.c | ||
223 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
224 | |||
225 | $(OBJDIR)/X6x9.o: $(FIRMWAREDIR)/X6x9.c | ||
226 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
227 | |||
228 | $(OBJDIR)/timR08.o: $(FIRMWAREDIR)/timR08.c | ||
229 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
230 | |||
231 | $(OBJDIR)/courB08.o: $(FIRMWAREDIR)/courB08.c | ||
232 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
233 | |||
234 | $(OBJDIR)/font.o: $(FIRMWAREDIR)/font.c | ||
235 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
236 | |||
237 | $(OBJDIR)/loadfont.o: $(FIRMWAREDIR)/loadfont.c | ||
238 | $(CC) $(APPCFLAGS) -c $< -o $@ | ||
239 | |||
230 | $(OBJDIR)/settings.o: $(APPDIR)/settings.c | 240 | $(OBJDIR)/settings.o: $(APPDIR)/settings.c |
231 | $(CC) $(APPCFLAGS) -c $< -o $@ | 241 | $(CC) $(APPCFLAGS) -c $< -o $@ |
232 | 242 | ||
diff --git a/uisimulator/x11/uibasic.c b/uisimulator/x11/uibasic.c index 165b1cebe9..2eac2f8e06 100644 --- a/uisimulator/x11/uibasic.c +++ b/uisimulator/x11/uibasic.c | |||
@@ -198,6 +198,7 @@ screenhack (Display *the_dpy, Window the_window) | |||
198 | screen_redraw(); | 198 | screen_redraw(); |
199 | 199 | ||
200 | #ifdef HAVE_LCD_CHARCELLS | 200 | #ifdef HAVE_LCD_CHARCELLS |
201 | // FIXME?? | ||
201 | lcd_setfont(2); | 202 | lcd_setfont(2); |
202 | #endif | 203 | #endif |
203 | 204 | ||