summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/skin_engine/skin_parser.c6
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/menus/settings_menu.c9
-rw-r--r--apps/settings.c2
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_list.c6
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
82static char* skin_buffer = NULL; 81static char* skin_buffer = NULL;
83void skinparser_set_buffer(char* pointer) 82void 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 */
222MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL); 222MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL);
223MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL); 223MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL);
224#ifdef HAVE_LCD_BITMAP
225MENUITEM_SETTING(default_glyphs, &global_settings.glyphs, NULL);
226#endif
224MAKE_MENU(limits_menu, ID2P(LANG_LIMITS_MENU), 0, Icon_NOICON, 227MAKE_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",