save FLASH by using reduced font for some languages

This commit is contained in:
Bob-the-Kuhn 2017-10-25 15:52:49 -05:00
parent 3f5f39576b
commit 229a27a1c7
4 changed files with 272 additions and 167 deletions

View File

@ -32,7 +32,100 @@
Max Font ascent = 8 descent=-1 Max Font ascent = 8 descent=-1
*/ */
#include <U8glib.h> #include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_1_5x7[2592] U8G_SECTION(".progmem.ISO10646_1_5x7") = {
#define not_extended_ISO10646_1_5x7 (defined(LANGUAGE_AN_H) \
|| defined(LANGUAGE_EN_H) \
|| defined(LANGUAGE_ES_H) \
|| defined(LANGUAGE_EU_H) \
|| defined(LANGUAGE_FR_H) \
|| defined(LANGUAGE_GL_H) \
|| defined(LANGUAGE_NL_H) \
|| defined(LANGUAGE_PL_HD44780_H) \
|| defined(LANGUAGE_PT_H) \
|| defined(LANGUAGE_PT_BR_H))
#if defined(__AVR__) && not_extended_ISO10646_1_5x7
// reduced font (only sysmbols 32 - 127) - saves about 1400 bytes of FLASH
const u8g_fntpgm_uint8_t ISO10646_1_5x7[] U8G_SECTION(".progmem.ISO10646_1_5x7") = {
0,6,9,0,254,7,1,146,3,33,32,127,255,7,255,7,
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6,
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32,
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32,
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104,
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32,
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32,
32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5,
5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192,
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192,
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6,
0,0,112,136,136,136,136,136,112,3,7,7,6,1,0,64,
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112,
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240,
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7,
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0,
112,128,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
112,5,7,7,6,0,0,112,136,136,120,8,8,112,2,5,
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192,
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64,
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1,
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136,
8,16,32,0,32,5,7,7,6,0,0,112,136,8,104,168,
168,112,5,7,7,6,0,0,112,136,136,248,136,136,136,5,
7,7,6,0,0,240,136,136,240,136,136,240,5,7,7,6,
0,0,112,136,128,128,128,136,112,5,7,7,6,0,0,240,
136,136,136,136,136,240,5,7,7,6,0,0,248,128,128,240,
128,128,248,5,7,7,6,0,0,248,128,128,240,128,128,128,
5,7,7,6,0,0,112,136,128,184,136,136,112,5,7,7,
6,0,0,136,136,136,248,136,136,136,1,7,7,6,2,0,
128,128,128,128,128,128,128,5,7,7,6,0,0,56,16,16,
16,16,144,96,5,7,7,6,0,0,136,144,160,192,160,144,
136,5,7,7,6,0,0,128,128,128,128,128,128,248,5,7,
7,6,0,0,136,216,168,136,136,136,136,5,7,7,6,0,
0,136,136,200,168,152,136,136,5,7,7,6,0,0,112,136,
136,136,136,136,112,5,7,7,6,0,0,240,136,136,240,128,
128,128,5,7,7,6,0,0,112,136,136,136,168,144,104,5,
7,7,6,0,0,240,136,136,240,160,144,136,5,7,7,6,
0,0,120,128,128,112,8,8,240,5,7,7,6,0,0,248,
32,32,32,32,32,32,5,7,7,6,0,0,136,136,136,136,
136,136,112,5,7,7,6,0,0,136,136,136,136,136,80,32,
5,7,7,6,0,0,136,136,136,136,136,168,80,5,7,7,
6,0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,
136,136,136,80,32,32,32,5,7,7,6,0,0,248,8,16,
32,64,128,248,3,7,7,6,1,0,224,128,128,128,128,128,
224,5,5,5,6,0,1,128,64,32,16,8,3,7,7,6,
1,0,224,32,32,32,32,32,224,5,3,3,6,0,4,32,
80,136,5,1,1,6,0,0,248,2,2,2,6,2,5,128,
64,5,5,5,6,0,0,112,8,120,136,120,5,7,7,6,
0,0,128,128,176,200,136,136,240,5,5,5,6,0,0,112,
128,128,136,112,5,7,7,6,0,0,8,8,104,152,136,136,
120,5,5,5,6,0,0,112,136,248,128,112,5,7,7,6,
0,0,48,72,224,64,64,64,64,5,6,6,6,0,255,112,
136,136,120,8,112,5,7,7,6,0,0,128,128,176,200,136,
136,136,1,7,7,6,2,0,128,0,128,128,128,128,128,3,
8,8,6,1,255,32,0,32,32,32,32,160,64,4,7,7,
6,0,0,128,128,144,160,192,160,144,3,7,7,6,1,0,
192,64,64,64,64,64,224,5,5,5,6,0,0,208,168,168,
168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5,
6,0,0,112,136,136,136,112,5,6,6,6,0,255,240,136,
136,240,128,128,5,6,6,6,0,255,120,136,136,120,8,8,
5,5,5,6,0,0,176,200,128,128,128,5,5,5,6,0,
0,112,128,112,8,240,4,7,7,6,0,0,64,64,224,64,
64,64,48,5,5,5,6,0,0,136,136,136,152,104,5,5,
5,6,0,0,136,136,136,80,32,5,5,5,6,0,0,136,
136,168,168,80,5,5,5,6,0,0,136,80,32,80,136,5,
6,6,6,0,255,136,136,136,120,8,112,5,5,5,6,0,
0,248,16,32,64,248,3,7,7,6,1,0,32,64,64,128,
64,64,32,1,7,7,6,2,0,128,128,128,128,128,128,128,
3,7,7,6,1,0,128,64,64,32,64,64,128,5,2,2,
6,0,2,104,144,0,0,0,6,0,0};
#else
// extended (original) font (sysmbols 32 - 255)
const u8g_fntpgm_uint8_t ISO10646_1_5x7[2592] U8G_SECTION(".progmem.ISO10646_1_5x7") = {
0, 6, 9, 0, 254, 7, 1, 146, 3, 33, 32, 255, 255, 8, 255, 7, 0, 6, 9, 0, 254, 7, 1, 146, 3, 33, 32, 255, 255, 8, 255, 7,
255, 0, 0, 0, 6, 0, 0, 1, 7, 7, 6, 2, 0, 128, 128, 128, 255, 0, 0, 0, 6, 0, 0, 1, 7, 7, 6, 2, 0, 128, 128, 128,
128, 128, 0, 128, 3, 2, 2, 6, 1, 5, 160, 160, 5, 7, 7, 6, 128, 128, 0, 128, 3, 2, 2, 6, 1, 5, 160, 160, 5, 7, 7, 6,
@ -195,4 +288,6 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[2592] U8G_SECTION(".progmem.ISO10646_1_5
0, 136, 136, 136, 152, 104, 5, 9, 9, 6, 0, 255, 16, 32, 0, 136, 0, 136, 136, 136, 152, 104, 5, 9, 9, 6, 0, 255, 16, 32, 0, 136,
136, 136, 248, 8, 112, 4, 7, 7, 6, 1, 255, 192, 64, 96, 80, 96, 136, 136, 248, 8, 112, 4, 7, 7, 6, 1, 255, 192, 64, 96, 80, 96,
64, 224, 5, 8, 8, 6, 0, 255, 80, 0, 136, 136, 136, 120, 8, 112 64, 224, 5, 8, 8, 6, 0, 255, 80, 0, 136, 136, 136, 120, 8, 112
}; };
#endif

View File

@ -27,8 +27,8 @@
* See also http://marlinfw.org/docs/development/lcd_language.html * See also http://marlinfw.org/docs/development/lcd_language.html
* *
*/ */
#ifndef LANGUAGE_FR_H #ifndef LANGUAGE_FR_UTF_H
#define LANGUAGE_FR_H #define LANGUAGE_FR_UTF_H
#define MAPPER_C2C3 #define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1 #define DISPLAY_CHARSET_ISO10646_1
@ -341,4 +341,4 @@
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Reprise...") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Reprise...")
#endif // LCD_HEIGHT < 4 #endif // LCD_HEIGHT < 4
#endif // LANGUAGE_FR_H #endif // LANGUAGE_FR_UTF_H

View File

@ -24,6 +24,9 @@
* Polish for DOGM display - includes accented characters * Polish for DOGM display - includes accented characters
*/ */
#ifndef LANGUAGE_PL_DOGM_H
#define LANGUAGE_PL_DOGM_H
#define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.") #define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.")
#define MSG_SD_INSERTED _UxGT("Karta włożona") #define MSG_SD_INSERTED _UxGT("Karta włożona")
#define MSG_SD_REMOVED _UxGT("Karta usunięta") #define MSG_SD_REMOVED _UxGT("Karta usunięta")
@ -238,3 +241,5 @@
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Ekstruzja...") #define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Ekstruzja...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4 #endif // LCD_HEIGHT < 4
#endif // LANGUAGE_PL_DOGM_H

View File

@ -24,6 +24,9 @@
* Polish for HD44780 display - no accented characters * Polish for HD44780 display - no accented characters
*/ */
#ifndef LANGUAGE_PL_HD44780_H
#define LANGUAGE_PL_HD44780_H
#define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.") #define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.")
#define MSG_SD_INSERTED _UxGT("Karta wlozona") #define MSG_SD_INSERTED _UxGT("Karta wlozona")
#define MSG_SD_REMOVED _UxGT("Karta usunieta") #define MSG_SD_REMOVED _UxGT("Karta usunieta")
@ -263,3 +266,5 @@
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Ekstruzja...") #define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Ekstruzja...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4 #endif // LCD_HEIGHT < 4
#endif // LANGUAGE_PL_HD44780_H