diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 6 | ||||
-rw-r--r-- | apps/lang/english.lang | 14 | ||||
-rw-r--r-- | apps/menus/settings_menu.c | 9 | ||||
-rw-r--r-- | apps/settings.c | 2 | ||||
-rw-r--r-- | apps/settings.h | 1 | ||||
-rw-r--r-- | apps/settings_list.c | 6 |
6 files changed, 32 insertions, 6 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index ad10689107..c4a96d0e9b 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c | |||
@@ -78,7 +78,6 @@ | |||
78 | 78 | ||
79 | #define WPS_ERROR_INVALID_PARAM -1 | 79 | #define WPS_ERROR_INVALID_PARAM -1 |
80 | 80 | ||
81 | #define GLYPHS_TO_CACHE 256 | ||
82 | static char* skin_buffer = NULL; | 81 | static char* skin_buffer = NULL; |
83 | void skinparser_set_buffer(char* pointer) | 82 | void skinparser_set_buffer(char* pointer) |
84 | { | 83 | { |
@@ -468,7 +467,7 @@ static int parse_font_load(struct skin_element *element, | |||
468 | if(element->params_count > 2) | 467 | if(element->params_count > 2) |
469 | glyphs = get_param(element, 2)->data.number; | 468 | glyphs = get_param(element, 2)->data.number; |
470 | else | 469 | else |
471 | glyphs = GLYPHS_TO_CACHE; | 470 | glyphs = global_settings.glyphs; |
472 | if (id < 2) | 471 | if (id < 2) |
473 | { | 472 | { |
474 | DEBUGF("font id must be >= 2\n"); | 473 | DEBUGF("font id must be >= 2\n"); |
@@ -1742,8 +1741,7 @@ static bool skin_load_fonts(struct wps_data *data) | |||
1742 | char path[MAX_PATH]; | 1741 | char path[MAX_PATH]; |
1743 | snprintf(path, sizeof path, FONT_DIR "/%s", font->name); | 1742 | snprintf(path, sizeof path, FONT_DIR "/%s", font->name); |
1744 | #ifndef __PCTOOL__ | 1743 | #ifndef __PCTOOL__ |
1745 | font->id = font_load_ex(path, | 1744 | font->id = font_load_ex(path, 0, skinfonts[font_id-2].glyphs); |
1746 | font_glyphs_to_bufsize(path, skinfonts[font_id-2].glyphs)); | ||
1747 | 1745 | ||
1748 | #else | 1746 | #else |
1749 | font->id = font_load(path); | 1747 | font->id = font_load(path); |
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index a228a78f7f..29e6205729 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -12951,3 +12951,17 @@ | |||
12951 | hardware_click: "Speaker Keyclick" | 12951 | hardware_click: "Speaker Keyclick" |
12952 | </voice> | 12952 | </voice> |
12953 | </phrase> | 12953 | </phrase> |
12954 | <phrase> | ||
12955 | id: LANG_GLYPHS | ||
12956 | desc: in settings_menu | ||
12957 | user: core | ||
12958 | <source> | ||
12959 | *: "Glyphs To Cache" | ||
12960 | </source> | ||
12961 | <dest> | ||
12962 | *: "Glyphs To Cache" | ||
12963 | </dest> | ||
12964 | <voice> | ||
12965 | *: "Glyphs To Cache" | ||
12966 | </voice> | ||
12967 | </phrase> | ||
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 079e86616d..4ea98efd95 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c | |||
@@ -221,8 +221,15 @@ MENUITEM_SETTING(poweroff, &global_settings.poweroff, NULL); | |||
221 | /* Limits menu */ | 221 | /* Limits menu */ |
222 | MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL); | 222 | MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL); |
223 | MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL); | 223 | MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL); |
224 | #ifdef HAVE_LCD_BITMAP | ||
225 | MENUITEM_SETTING(default_glyphs, &global_settings.glyphs, NULL); | ||
226 | #endif | ||
224 | MAKE_MENU(limits_menu, ID2P(LANG_LIMITS_MENU), 0, Icon_NOICON, | 227 | MAKE_MENU(limits_menu, ID2P(LANG_LIMITS_MENU), 0, Icon_NOICON, |
225 | &max_files_in_dir, &max_files_in_playlist); | 228 | &max_files_in_dir, &max_files_in_playlist |
229 | #ifdef HAVE_LCD_BITMAP | ||
230 | ,&default_glyphs | ||
231 | #endif | ||
232 | ); | ||
226 | 233 | ||
227 | 234 | ||
228 | /* Keyclick menu */ | 235 | /* Keyclick menu */ |
diff --git a/apps/settings.c b/apps/settings.c index fbfa438ab5..c22fa50f17 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -886,7 +886,7 @@ void settings_apply(bool read_disk) | |||
886 | CHART2(">font_load ", global_settings.font_file); | 886 | CHART2(">font_load ", global_settings.font_file); |
887 | if (font_ui >= 0) | 887 | if (font_ui >= 0) |
888 | font_unload(font_ui); | 888 | font_unload(font_ui); |
889 | rc = font_load(buf); | 889 | rc = font_load_ex(buf, 0, global_settings.glyphs); |
890 | CHART2("<font_load ", global_settings.font_file); | 890 | CHART2("<font_load ", global_settings.font_file); |
891 | screens[SCREEN_MAIN].setuifont(rc); | 891 | screens[SCREEN_MAIN].setuifont(rc); |
892 | screens[SCREEN_MAIN].setfont(rc); | 892 | screens[SCREEN_MAIN].setfont(rc); |
diff --git a/apps/settings.h b/apps/settings.h index 06eba76e3c..6608df6111 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -672,6 +672,7 @@ struct user_settings | |||
672 | unsigned char icon_file[MAX_FILENAME+1]; | 672 | unsigned char icon_file[MAX_FILENAME+1]; |
673 | unsigned char viewers_icon_file[MAX_FILENAME+1]; | 673 | unsigned char viewers_icon_file[MAX_FILENAME+1]; |
674 | unsigned char font_file[MAX_FILENAME+1]; /* last font */ | 674 | unsigned char font_file[MAX_FILENAME+1]; /* last font */ |
675 | int glyphs; | ||
675 | #ifdef HAVE_REMOTE_LCD | 676 | #ifdef HAVE_REMOTE_LCD |
676 | unsigned char remote_font_file[MAX_FILENAME+1]; /* last font */ | 677 | unsigned char remote_font_file[MAX_FILENAME+1]; /* last font */ |
677 | #endif | 678 | #endif |
diff --git a/apps/settings_list.c b/apps/settings_list.c index 9232811ada..305edd93ba 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -222,6 +222,9 @@ static const char graphic_numeric[] = "graphic,numeric"; | |||
222 | #else | 222 | #else |
223 | #define DEFAULT_FONTNAME "35-Adobe-Helvetica" | 223 | #define DEFAULT_FONTNAME "35-Adobe-Helvetica" |
224 | #endif | 224 | #endif |
225 | #define DEFAULT_GLYPHS 250 | ||
226 | #define MIN_GLYPHS 50 | ||
227 | #define MAX_GLYPHS 65540 | ||
225 | 228 | ||
226 | #else | 229 | #else |
227 | #define DEFAULT_FONTNAME "" | 230 | #define DEFAULT_FONTNAME "" |
@@ -1622,6 +1625,9 @@ const struct settings_list settings[] = { | |||
1622 | #ifdef HAVE_LCD_BITMAP | 1625 | #ifdef HAVE_LCD_BITMAP |
1623 | TEXT_SETTING(F_THEMESETTING, font_file, "font", | 1626 | TEXT_SETTING(F_THEMESETTING, font_file, "font", |
1624 | DEFAULT_FONTNAME, FONT_DIR "/", ".fnt"), | 1627 | DEFAULT_FONTNAME, FONT_DIR "/", ".fnt"), |
1628 | INT_SETTING(0, glyphs, LANG_GLYPHS, DEFAULT_GLYPHS, | ||
1629 | "glyphs", UNIT_INT, MIN_GLYPHS, MAX_GLYPHS, 10, | ||
1630 | NULL, NULL, NULL), | ||
1625 | #endif | 1631 | #endif |
1626 | #ifdef HAVE_REMOTE_LCD | 1632 | #ifdef HAVE_REMOTE_LCD |
1627 | TEXT_SETTING(F_THEMESETTING, remote_font_file, "remote font", | 1633 | TEXT_SETTING(F_THEMESETTING, remote_font_file, "remote font", |