[2.0.x] UTF-8 language translation support (#10213)

This commit is contained in:
Yunhui Fu 2018-04-12 21:14:01 -04:00 committed by Scott Lahteine
parent daa712455b
commit c96412a78f
151 changed files with 565326 additions and 7193 deletions

View file

@ -53,6 +53,13 @@ script:
- restore_configs - restore_configs
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
# #
# find U8glib files
- sudo find / -iname u8g.h
- sudo find / -iname U8glib.h
# expose the C API
#- sudo cp -f ${TRAVIS_BUILD_DIR}/.piolibdeps/U8glib-HAL_ID1932/src/lib/u8g.h ${TRAVIS_BUILD_DIR}/.piolibdeps/U8glib-HAL_ID1932/src/u8g.h
#
#
# Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4
# Test a "Fix Mounted" Probe with Safe Homing, some arc options, # Test a "Fix Mounted" Probe with Safe Homing, some arc options,
# linear bed leveling, M48, leveling debug, and firmware retraction. # linear bed leveling, M48, leveling debug, and firmware retraction.
@ -89,7 +96,7 @@ script:
# #
# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
# #
- opt_set LANGUAGE kana_utf8 - opt_set LANGUAGE jp-kana
- opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
- opt_disable SEGMENT_LEVELED_MOVES - opt_disable SEGMENT_LEVELED_MOVES
- opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
@ -282,6 +289,16 @@ script:
- opt_enable LCM1602 - opt_enable LCM1602
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
# #
# Language files test with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#
- restore_configs
- opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT
- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done
#
- restore_configs
- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT
- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done
#
# #
######## Example Configurations ############## ######## Example Configurations ##############
# #

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -64,6 +64,9 @@ HARDWARE_MOTHERBOARD ?= 11
ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino
ARDUINO_VERSION ?= 106 ARDUINO_VERSION ?= 106
# The installed Libraries are in the User folder
ARDUINO_USER_DIR ?= ${HOME}/Arduino
# You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin) # You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin)
AVR_TOOLS_PATH ?= AVR_TOOLS_PATH ?=
@ -448,6 +451,17 @@ TARGET = $(notdir $(CURDIR))
VPATH = . VPATH = .
VPATH += $(BUILD_DIR) VPATH += $(BUILD_DIR)
VPATH += $(HARDWARE_SRC)
# U8glib
VPATH += $(ARDUINO_USER_DIR)/libraries/U8glib
VPATH += $(ARDUINO_USER_DIR)/libraries/U8glib/clib
ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy Sanguino))
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/LiquidCrystal/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/SPI
endif
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
@ -479,10 +493,10 @@ HARDWARE_SUB_VARIANT ?= mega
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/$(HARDWARE_SUB_VARIANT) VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/$(HARDWARE_SUB_VARIANT)
else else
ifeq ($(HARDWARE_VARIANT), Sanguino) ifeq ($(HARDWARE_VARIANT), Sanguino)
VPATH += $(HARDWARE_DIR)/marlin/avr/variants/sanguino VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/variants/sanguino
else else
HARDWARE_SUB_VARIANT ?= standard HARDWARE_SUB_VARIANT ?= standard
VPATH += $(HARDWARE_DIR)/$(HARDWARE_VARIANT)/variants/$(HARDWARE_SUB_VARIANT) VPATH += $(ARDUINO_INSTALL_DIR)/hardware/$(HARDWARE_VARIANT)/variants/$(HARDWARE_SUB_VARIANT)
endif endif
endif endif
LIB_SRC = wiring.c \ LIB_SRC = wiring.c \

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1363,11 +1363,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1495,11 +1495,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1361,11 +1361,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,13 +1343,13 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE ru #define LCD_LANGUAGE en
/** /**
* LCD Character Set * LCD Character Set

View file

@ -1343,11 +1343,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1331,11 +1331,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1355,11 +1355,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1331,11 +1331,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1342,11 +1342,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1353,11 +1353,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1344,11 +1344,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1362,11 +1362,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1353,11 +1353,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1347,11 +1347,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1353,11 +1353,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1325,11 +1325,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1325,11 +1325,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1367,11 +1367,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1358,11 +1358,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1359,11 +1359,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1358,11 +1358,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1347,11 +1347,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1354,11 +1354,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1363,13 +1363,13 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE es #define LCD_LANGUAGE en
/** /**
* LCD Character Set * LCD Character Set

View file

@ -1382,11 +1382,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1342,11 +1342,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1347,11 +1347,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1347,11 +1347,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1392,11 +1392,11 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1341,11 +1341,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1356,11 +1356,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1346,11 +1346,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1374,11 +1374,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1399,11 +1399,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1354,11 +1354,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1376,11 +1376,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1350,11 +1350,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1343,11 +1343,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1493,11 +1493,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1475,11 +1475,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1474,11 +1474,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1488,11 +1488,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1462,11 +1462,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1465,11 +1465,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1465,11 +1465,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1465,11 +1465,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1364,11 +1364,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1346,11 +1346,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1344,11 +1344,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1338,11 +1338,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -1348,11 +1348,11 @@
* *
* Select the language to display on the LCD. These languages are available: * Select the language to display on the LCD. These languages are available:
* *
* en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr,
* gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk,
* tr, uk, zh_CN, zh_TW, test * tr, uk, zh_CN, zh_TW, test
* *
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'es_utf8':'Spanish (UTF8)', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' } * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', test':'TEST' }
*/ */
#define LCD_LANGUAGE en #define LCD_LANGUAGE en

View file

@ -27,9 +27,6 @@
#define _UxGT(a) a #define _UxGT(a) a
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
//#define SIMULATE_ROMFONT
// Fallback if no language is set. DON'T CHANGE // Fallback if no language is set. DON'T CHANGE
#ifndef LCD_LANGUAGE #ifndef LCD_LANGUAGE
#define LCD_LANGUAGE en #define LCD_LANGUAGE en
@ -50,36 +47,29 @@
// an Aragonese // an Aragonese
// bg Bulgarian // bg Bulgarian
// ca Catalan // ca Catalan
// cn Chinese
// cz Czech // cz Czech
// cz_utf8 Czech (UTF8)
// de German // de German
// el Greek // el Greek
// el-gr Greek (Greece) // el-gr Greek (Greece)
// en English // en English
// es Spanish // es Spanish
// es_utf8 Spanish (UTF8)
// eu Basque-Euskera // eu Basque-Euskera
// fi Finnish // fi Finnish
// fr French // fr French
// fr_utf8 French (UTF8)
// gl Galician // gl Galician
// hr Croatian // hr Croatian
// it Italian // it Italian
// kana Japanese // jp-kana Japanese
// kana_utf8 Japanese (UTF8)
// nl Dutch // nl Dutch
// pl Polish // pl Polish
// pt Portuguese // pt Portuguese
// pt-br Portuguese (Brazilian) // pt-br Portuguese (Brazilian)
// pt-br_utf8 Portuguese (Brazilian) (UTF8)
// pt_utf8 Portuguese (UTF8)
// ru Russian // ru Russian
// sk Slovak (UTF8) // sk Slovak
// tr Turkish // tr Turkish
// uk Ukrainian // uk Ukrainian
// zh_CN Chinese (Simplified) // zh_CN Chinese (Simplified)
// zh_TW Chinese (Taiwan) // zh_TW Chinese (Traditional)
#ifdef DEFAULT_SOURCE_CODE_URL #ifdef DEFAULT_SOURCE_CODE_URL
#undef SOURCE_CODE_URL #undef SOURCE_CODE_URL
@ -270,6 +260,10 @@
// LCD Menu Messages // LCD Menu Messages
#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(../lcd/dogm/language_data_##M.h)
#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
#define INCLUDE_LANGUAGE_DATA LANGUAGE_DATA_INCL(LCD_LANGUAGE)
#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h) #define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M) #define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
#define INCLUDE_LANGUAGE LANGUAGE_INCL(LCD_LANGUAGE) #define INCLUDE_LANGUAGE LANGUAGE_INCL(LCD_LANGUAGE)
@ -316,8 +310,7 @@
#include INCLUDE_LANGUAGE #include INCLUDE_LANGUAGE
#if DISABLED(SIMULATE_ROMFONT) \ #if DISABLED(DISPLAY_CHARSET_ISO10646_1) \
&& DISABLED(DISPLAY_CHARSET_ISO10646_1) \
&& DISABLED(DISPLAY_CHARSET_ISO10646_5) \ && DISABLED(DISPLAY_CHARSET_ISO10646_5) \
&& DISABLED(DISPLAY_CHARSET_ISO10646_KANA) \ && DISABLED(DISPLAY_CHARSET_ISO10646_KANA) \
&& DISABLED(DISPLAY_CHARSET_ISO10646_GREEK) \ && DISABLED(DISPLAY_CHARSET_ISO10646_GREEK) \

View file

@ -318,7 +318,7 @@
#endif #endif
#if ENABLED(DOGLCD) #if ENABLED(DOGLCD)
/* Custom characters defined in font dogm_font_data_Marlin_symbols.h / Marlin_symbols.fon */ /* Custom characters defined in font Marlin_symbols.fon which was merged to ISO10646-0-3.bdf */
// \x00 intentionally skipped to avoid problems in strings // \x00 intentionally skipped to avoid problems in strings
#define LCD_STR_REFRESH "\x01" #define LCD_STR_REFRESH "\x01"
#define LCD_STR_FOLDER "\x02" #define LCD_STR_FOLDER "\x02"

View file

@ -1,194 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: HD44780_C v1.2
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 8
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t HD44780_C_5x7[2522] U8G_SECTION(".progmem.HD44780_C_5x7") = {
0, 6, 9, 0, 254, 7, 1, 145, 3, 34, 32, 255, 255, 8, 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, 152, 168, 200, 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,
48, 64, 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, 16, 96, 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, 6, 6, 6, 0, 0, 112, 136, 8, 104, 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, 224, 144,
136, 136, 136, 144, 224, 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, 7, 7, 6, 0, 0, 32, 112, 160, 160, 168, 112, 32, 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, 5, 7, 7, 6, 0, 0, 64, 64, 224,
64, 64, 72, 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, 5, 5, 5, 6, 0, 2, 184, 168, 168,
168, 184, 5, 5, 5, 6, 0, 2, 184, 136, 184, 160, 184, 5, 5, 5,
6, 0, 2, 184, 160, 184, 136, 184, 5, 6, 6, 6, 0, 1, 8, 40,
72, 248, 64, 32, 5, 5, 5, 6, 0, 0, 56, 112, 224, 136, 240, 0,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 5,
7, 7, 6, 0, 0, 248, 136, 128, 240, 136, 136, 240, 5, 7, 7, 6,
0, 0, 248, 136, 128, 128, 128, 128, 128, 5, 7, 7, 6, 0, 0, 80,
0, 248, 128, 240, 128, 248, 5, 7, 7, 6, 0, 0, 168, 168, 168, 112,
168, 168, 168, 5, 7, 7, 6, 0, 0, 240, 8, 8, 112, 8, 8, 240,
5, 7, 7, 6, 0, 0, 136, 136, 152, 168, 200, 136, 136, 5, 8, 8,
6, 0, 0, 80, 32, 136, 152, 168, 168, 200, 136, 5, 7, 7, 6, 0,
0, 120, 40, 40, 40, 40, 168, 72, 5, 7, 7, 6, 0, 0, 248, 136,
136, 136, 136, 136, 136, 5, 7, 7, 6, 0, 0, 136, 136, 136, 80, 32,
64, 128, 5, 7, 7, 6, 0, 0, 32, 112, 168, 168, 168, 112, 32, 5,
7, 7, 6, 0, 0, 136, 136, 136, 120, 8, 8, 8, 5, 7, 7, 6,
0, 0, 168, 168, 168, 168, 168, 168, 248, 5, 7, 7, 6, 0, 0, 192,
64, 64, 112, 72, 72, 112, 5, 7, 7, 6, 0, 0, 136, 136, 136, 200,
168, 168, 200, 5, 7, 7, 6, 0, 0, 112, 136, 8, 56, 8, 136, 112,
5, 7, 7, 6, 0, 0, 144, 168, 168, 232, 168, 168, 144, 5, 7, 7,
6, 0, 0, 120, 136, 136, 120, 40, 72, 136, 5, 7, 7, 6, 0, 0,
24, 96, 128, 240, 136, 136, 112, 4, 5, 5, 6, 0, 0, 224, 144, 224,
144, 224, 5, 5, 5, 6, 0, 0, 248, 136, 128, 128, 128, 5, 7, 7,
6, 0, 0, 80, 0, 112, 136, 248, 128, 112, 5, 5, 5, 6, 0, 0,
168, 168, 112, 168, 168, 5, 5, 5, 6, 0, 0, 240, 8, 48, 8, 240,
5, 5, 5, 6, 0, 0, 136, 152, 168, 200, 136, 5, 7, 7, 6, 0,
0, 80, 32, 136, 152, 168, 200, 136, 4, 5, 5, 6, 0, 0, 144, 160,
192, 160, 144, 5, 5, 5, 6, 0, 0, 248, 40, 40, 168, 72, 5, 5,
5, 6, 0, 0, 136, 216, 168, 136, 136, 5, 5, 5, 6, 0, 0, 136,
136, 248, 136, 136, 5, 5, 5, 6, 0, 0, 248, 136, 136, 136, 136, 5,
5, 5, 6, 0, 0, 248, 32, 32, 32, 32, 5, 5, 5, 6, 0, 0,
136, 136, 120, 8, 8, 5, 5, 5, 6, 0, 0, 168, 168, 168, 168, 248,
5, 5, 5, 6, 0, 0, 192, 64, 112, 72, 112, 5, 5, 5, 6, 0,
0, 136, 136, 200, 168, 200, 4, 5, 5, 6, 0, 0, 128, 128, 224, 144,
224, 5, 5, 5, 6, 0, 0, 112, 136, 56, 136, 112, 5, 5, 5, 6,
0, 0, 144, 168, 232, 168, 144, 5, 5, 5, 6, 0, 0, 120, 136, 120,
40, 72, 5, 5, 5, 6, 0, 1, 32, 72, 144, 72, 32, 5, 5, 5,
6, 0, 1, 32, 144, 72, 144, 32, 5, 3, 3, 6, 0, 0, 72, 144,
216, 5, 3, 3, 6, 0, 4, 216, 72, 144, 5, 7, 7, 6, 0, 0,
144, 208, 176, 144, 56, 40, 56, 5, 7, 7, 6, 0, 0, 32, 0, 32,
64, 128, 136, 112, 5, 7, 7, 6, 0, 0, 24, 32, 32, 112, 32, 32,
192, 5, 7, 7, 6, 0, 0, 32, 80, 64, 240, 64, 64, 120, 1, 2,
2, 6, 2, 0, 128, 128, 1, 4, 4, 6, 2, 0, 128, 128, 128, 128,
3, 5, 5, 6, 1, 0, 160, 160, 160, 0, 224, 3, 5, 5, 6, 1,
0, 160, 160, 160, 0, 160, 5, 7, 7, 6, 0, 0, 160, 0, 232, 16,
32, 64, 128, 5, 5, 5, 6, 0, 1, 216, 112, 32, 112, 216, 5, 7,
7, 6, 0, 0, 160, 64, 168, 16, 32, 64, 128, 3, 6, 6, 6, 1,
1, 224, 64, 64, 64, 64, 224, 5, 6, 6, 6, 0, 1, 248, 80, 80,
80, 80, 248, 5, 7, 7, 6, 0, 0, 32, 112, 168, 32, 32, 32, 32,
5, 7, 7, 6, 0, 0, 32, 32, 32, 32, 168, 112, 32, 5, 7, 7,
6, 0, 0, 128, 144, 176, 248, 176, 144, 128, 5, 7, 7, 6, 0, 0,
8, 72, 104, 248, 104, 72, 8, 5, 7, 7, 6, 0, 0, 128, 136, 168,
248, 168, 136, 128, 5, 7, 7, 6, 0, 0, 128, 224, 136, 16, 32, 64,
128, 2, 2, 2, 6, 2, 2, 192, 192, 5, 8, 8, 6, 0, 255, 120,
40, 40, 40, 72, 136, 248, 136, 5, 8, 8, 6, 0, 255, 136, 136, 136,
136, 136, 136, 248, 8, 5, 8, 8, 6, 0, 255, 168, 168, 168, 168, 168,
168, 248, 8, 5, 6, 6, 6, 0, 255, 120, 40, 72, 136, 248, 136, 5,
7, 7, 6, 0, 255, 32, 32, 112, 168, 168, 112, 32, 5, 6, 6, 6,
0, 255, 136, 136, 136, 136, 248, 8, 5, 6, 6, 6, 0, 255, 168, 168,
168, 168, 248, 8, 2, 2, 2, 6, 2, 6, 64, 128, 3, 1, 1, 6,
1, 7, 160, 5, 2, 2, 6, 0, 6, 72, 176, 5, 8, 8, 6, 0,
0, 16, 32, 0, 112, 136, 248, 128, 112, 5, 6, 6, 6, 0, 255, 112,
128, 136, 112, 32, 96, 3, 7, 7, 6, 1, 0, 160, 0, 160, 160, 160,
32, 192, 5, 6, 6, 6, 0, 1, 32, 112, 112, 112, 248, 32, 5, 5,
5, 6, 0, 1, 80, 0, 136, 0, 80, 5, 5, 5, 6, 0, 1, 112,
136, 136, 136, 112, 5, 7, 7, 6, 0, 0, 136, 144, 168, 88, 184, 8,
8, 5, 7, 7, 6, 0, 0, 136, 144, 184, 72, 184, 8, 56, 5, 7,
7, 6, 0, 0, 136, 144, 184, 72, 152, 32, 56, 5, 8, 8, 6, 0,
0, 192, 64, 192, 72, 216, 56, 8, 8, 5, 7, 7, 6, 0, 0, 136,
248, 136, 248, 136, 248, 136, 4, 5, 5, 6, 0, 2, 192, 0, 48, 0,
96, 5, 8, 8, 6, 0, 0, 64, 160, 224, 168, 8, 40, 120, 32, 5,
8, 8, 6, 0, 0, 64, 112, 64, 120, 64, 112, 64, 224, 5, 8, 8,
6, 0, 0, 32, 112, 32, 248, 32, 112, 32, 112, 5, 7, 7, 6, 0,
0, 104, 0, 232, 0, 104, 16, 56, 5, 8, 8, 6, 0, 0, 16, 112,
16, 240, 16, 112, 16, 56, 5, 7, 7, 6, 0, 1, 32, 112, 32, 248,
32, 112, 32, 5, 8, 8, 6, 0, 0, 16, 144, 80, 48, 80, 144, 16,
56, 5, 8, 8, 6, 0, 0, 48, 72, 32, 80, 80, 32, 144, 96, 5,
7, 7, 6, 0, 0, 120, 168, 168, 120, 40, 40, 40, 5, 8, 8, 6,
0, 0, 248, 248, 248, 248, 248, 248, 248, 248
};

View file

@ -1,192 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: HD44780_J
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 6 h=10 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 8
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-2
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t HD44780_J_5x7[2492] U8G_SECTION(".progmem.HD44780_J_5x7") = {
0, 6, 9, 0, 254, 7, 1, 145, 3, 34, 32, 255, 255, 8, 254, 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, 152, 168, 200, 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,
48, 64, 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, 16, 96, 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, 6, 6, 6, 0, 0, 112, 136, 8, 104, 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, 224, 144,
136, 136, 136, 144, 224, 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, 7, 7, 6, 0, 0, 136, 80, 248, 32, 248, 32, 32, 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, 5, 7, 7, 6, 0, 0, 64, 64, 224,
64, 64, 72, 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, 5,
5, 6, 0, 1, 32, 16, 248, 16, 32, 5, 5, 5, 6, 0, 1, 32,
64, 248, 64, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 3, 3, 3, 6, 0, 0,
224, 160, 224, 3, 4, 4, 6, 2, 3, 224, 128, 128, 128, 3, 4, 4,
6, 0, 0, 32, 32, 32, 224, 3, 3, 3, 6, 0, 0, 128, 64, 32,
2, 2, 2, 6, 1, 2, 192, 192, 5, 6, 6, 6, 0, 0, 248, 8,
248, 8, 16, 32, 5, 5, 5, 6, 0, 0, 248, 8, 48, 32, 64, 4,
5, 5, 6, 0, 0, 16, 32, 96, 160, 32, 5, 5, 5, 6, 0, 0,
32, 248, 136, 8, 48, 5, 4, 4, 6, 0, 0, 248, 32, 32, 248, 5,
5, 5, 6, 0, 0, 16, 248, 48, 80, 144, 5, 5, 5, 6, 0, 0,
64, 248, 72, 80, 64, 5, 4, 4, 6, 0, 0, 112, 16, 16, 248, 4,
5, 5, 6, 0, 0, 240, 16, 240, 16, 240, 5, 4, 4, 6, 0, 0,
168, 168, 8, 48, 5, 1, 1, 6, 0, 3, 248, 5, 7, 7, 6, 0,
0, 248, 8, 40, 48, 32, 32, 64, 5, 7, 7, 6, 0, 0, 8, 16,
32, 96, 160, 32, 32, 5, 7, 7, 6, 0, 0, 32, 248, 136, 136, 8,
16, 32, 5, 6, 6, 6, 0, 0, 248, 32, 32, 32, 32, 248, 5, 7,
7, 6, 0, 0, 16, 248, 16, 48, 80, 144, 16, 5, 7, 7, 6, 0,
0, 64, 248, 72, 72, 72, 72, 144, 5, 7, 7, 6, 0, 0, 32, 248,
32, 248, 32, 32, 32, 5, 6, 6, 6, 0, 0, 120, 72, 136, 8, 16,
96, 5, 7, 7, 6, 0, 0, 64, 120, 144, 16, 16, 16, 32, 5, 6,
6, 6, 0, 0, 248, 8, 8, 8, 8, 248, 5, 7, 7, 6, 0, 0,
80, 248, 80, 80, 16, 32, 64, 5, 6, 6, 6, 0, 0, 192, 8, 200,
8, 16, 224, 5, 6, 6, 6, 0, 0, 248, 8, 16, 32, 80, 136, 5,
7, 7, 6, 0, 0, 64, 248, 72, 80, 64, 64, 56, 5, 6, 6, 6,
0, 0, 136, 136, 72, 8, 16, 96, 5, 6, 6, 6, 0, 0, 120, 72,
168, 24, 16, 96, 5, 7, 7, 6, 0, 0, 16, 224, 32, 248, 32, 32,
64, 5, 6, 6, 6, 0, 0, 168, 168, 168, 8, 16, 32, 5, 7, 7,
6, 0, 0, 112, 0, 248, 32, 32, 32, 64, 3, 7, 7, 6, 1, 0,
128, 128, 128, 192, 160, 128, 128, 5, 7, 7, 6, 0, 0, 32, 32, 248,
32, 32, 64, 128, 5, 6, 6, 6, 0, 0, 112, 0, 0, 0, 0, 248,
5, 6, 6, 6, 0, 0, 248, 8, 80, 32, 80, 128, 5, 7, 7, 6,
0, 0, 32, 248, 16, 32, 112, 168, 32, 3, 7, 7, 6, 1, 0, 32,
32, 32, 32, 32, 64, 128, 5, 6, 6, 6, 0, 0, 32, 16, 136, 136,
136, 136, 5, 7, 7, 6, 0, 0, 128, 128, 248, 128, 128, 128, 120, 5,
6, 6, 6, 0, 0, 248, 8, 8, 8, 16, 96, 5, 5, 5, 6, 0,
1, 64, 160, 16, 8, 8, 5, 7, 7, 6, 0, 0, 32, 248, 32, 32,
168, 168, 32, 5, 6, 6, 6, 0, 0, 248, 8, 8, 80, 32, 16, 4,
6, 6, 6, 1, 0, 224, 0, 224, 0, 224, 16, 5, 6, 6, 6, 0,
0, 32, 64, 128, 136, 248, 8, 5, 6, 6, 6, 0, 0, 8, 8, 80,
32, 80, 128, 5, 6, 6, 6, 0, 0, 248, 64, 248, 64, 64, 56, 5,
7, 7, 6, 0, 0, 64, 64, 248, 72, 80, 64, 64, 5, 7, 7, 6,
0, 0, 112, 16, 16, 16, 16, 16, 248, 5, 6, 6, 6, 0, 0, 248,
8, 248, 8, 8, 248, 5, 7, 7, 6, 0, 0, 112, 0, 248, 8, 8,
16, 32, 4, 7, 7, 6, 0, 0, 144, 144, 144, 144, 16, 32, 64, 5,
6, 6, 6, 0, 0, 32, 160, 160, 168, 168, 176, 5, 7, 7, 6, 0,
0, 128, 128, 128, 136, 144, 160, 192, 5, 6, 6, 6, 0, 0, 248, 136,
136, 136, 136, 248, 5, 6, 6, 6, 0, 0, 248, 136, 136, 8, 16, 32,
5, 6, 6, 6, 0, 0, 192, 0, 8, 8, 16, 224, 4, 3, 3, 6,
0, 4, 32, 144, 64, 3, 3, 3, 6, 0, 4, 224, 160, 224, 5, 5,
5, 6, 0, 1, 72, 168, 144, 144, 104, 5, 7, 7, 6, 0, 0, 80,
0, 112, 8, 120, 136, 120, 4, 8, 8, 6, 1, 255, 96, 144, 144, 224,
144, 144, 224, 128, 5, 5, 5, 6, 0, 0, 112, 128, 96, 136, 112, 5,
6, 6, 6, 0, 255, 136, 136, 152, 232, 136, 128, 5, 5, 5, 6, 0,
0, 120, 160, 144, 136, 112, 5, 7, 7, 6, 0, 254, 48, 72, 136, 136,
240, 128, 128, 5, 8, 8, 6, 0, 254, 120, 136, 136, 136, 120, 8, 8,
112, 5, 5, 5, 6, 0, 1, 56, 32, 32, 160, 64, 4, 3, 3, 6,
0, 3, 16, 208, 16, 4, 8, 8, 6, 0, 255, 16, 0, 48, 16, 16,
16, 144, 96, 3, 3, 3, 6, 0, 4, 160, 64, 160, 5, 7, 7, 6,
0, 0, 32, 112, 160, 160, 168, 112, 32, 5, 7, 7, 6, 0, 0, 64,
64, 224, 64, 224, 64, 120, 5, 7, 7, 6, 0, 0, 112, 0, 176, 200,
136, 136, 136, 5, 7, 7, 6, 0, 0, 80, 0, 112, 136, 136, 136, 112,
5, 7, 7, 6, 0, 255, 176, 200, 136, 136, 240, 128, 128, 5, 7, 7,
6, 0, 255, 104, 152, 136, 136, 120, 8, 8, 5, 6, 6, 6, 0, 0,
112, 136, 248, 136, 136, 112, 5, 3, 3, 6, 0, 2, 88, 168, 208, 5,
5, 5, 6, 0, 0, 112, 136, 136, 80, 216, 5, 7, 7, 6, 0, 0,
80, 0, 136, 136, 136, 152, 104, 5, 7, 7, 6, 0, 0, 248, 128, 64,
32, 64, 128, 248, 5, 5, 5, 6, 0, 0, 248, 80, 80, 80, 152, 5,
7, 7, 6, 0, 0, 248, 0, 136, 80, 32, 80, 136, 5, 7, 7, 6,
0, 255, 136, 136, 136, 136, 120, 8, 112, 5, 6, 6, 6, 0, 0, 8,
240, 32, 248, 32, 32, 5, 5, 5, 6, 0, 0, 248, 64, 120, 72, 136,
5, 5, 5, 6, 0, 0, 248, 168, 248, 136, 136, 5, 5, 5, 6, 0,
1, 32, 0, 248, 0, 32, 0, 0, 0, 6, 0, 0, 6, 10, 10, 6,
0, 254, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252
};

View file

@ -1,226 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: HD44780_W
Copyright: A.Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t HD44780_W_5x7[3034] U8G_SECTION(".progmem.HD44780_W_5x7") = {
0, 6, 9, 0, 254, 7, 2, 79, 3, 222, 16, 255, 255, 8, 255, 7,
255, 4, 7, 7, 6, 0, 0, 16, 48, 112, 240, 112, 48, 16, 4, 7,
7, 6, 1, 0, 128, 192, 224, 240, 224, 192, 128, 5, 3, 3, 6, 0,
4, 216, 72, 144, 5, 3, 3, 6, 0, 4, 216, 144, 72, 5, 7, 7,
6, 0, 0, 32, 112, 248, 0, 32, 112, 248, 5, 7, 7, 6, 0, 0,
248, 112, 32, 0, 248, 112, 32, 5, 5, 5, 6, 0, 1, 112, 248, 248,
248, 112, 5, 7, 7, 6, 0, 0, 8, 8, 40, 72, 248, 64, 32, 5,
7, 7, 6, 0, 0, 32, 112, 168, 32, 32, 32, 32, 5, 7, 7, 6,
0, 0, 32, 32, 32, 32, 168, 112, 32, 5, 5, 5, 6, 0, 1, 32,
64, 248, 64, 32, 5, 5, 5, 6, 0, 1, 32, 16, 248, 16, 32, 5,
7, 7, 6, 0, 0, 16, 32, 64, 32, 16, 0, 248, 5, 7, 7, 6,
0, 0, 64, 32, 16, 32, 64, 0, 248, 5, 5, 5, 6, 0, 1, 32,
32, 112, 112, 248, 5, 5, 5, 6, 0, 0, 248, 112, 112, 32, 32, 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, 152, 168, 200, 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, 48, 64,
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, 16, 96, 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, 6, 6, 6, 0, 0, 112, 136, 8, 104, 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, 224, 144, 136, 136,
136, 144, 224, 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, 5, 7, 7, 6, 0, 0, 64, 64, 224, 64, 64, 72, 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, 6, 6, 6, 0, 1,
8, 40, 72, 248, 64, 32, 5, 7, 7, 6, 0, 0, 32, 80, 136, 136,
136, 136, 248, 5, 7, 7, 6, 0, 0, 248, 136, 128, 240, 136, 136, 240,
5, 8, 8, 6, 0, 255, 120, 40, 40, 40, 72, 136, 248, 136, 5, 7,
7, 6, 0, 0, 168, 168, 168, 112, 168, 168, 168, 5, 7, 7, 6, 0,
0, 240, 8, 8, 112, 8, 8, 240, 5, 7, 7, 6, 0, 0, 136, 136,
152, 168, 200, 136, 136, 5, 8, 8, 6, 0, 0, 80, 32, 136, 152, 168,
168, 200, 136, 5, 7, 7, 6, 0, 0, 120, 40, 40, 40, 40, 168, 72,
5, 7, 7, 6, 0, 0, 248, 136, 136, 136, 136, 136, 136, 5, 7, 7,
6, 0, 0, 136, 136, 136, 80, 32, 64, 128, 5, 8, 8, 6, 0, 255,
136, 136, 136, 136, 136, 136, 248, 8, 5, 7, 7, 6, 0, 0, 136, 136,
136, 120, 8, 8, 8, 5, 7, 7, 6, 0, 0, 168, 168, 168, 168, 168,
168, 248, 5, 8, 8, 6, 0, 255, 168, 168, 168, 168, 168, 168, 248, 8,
5, 7, 7, 6, 0, 0, 192, 64, 64, 112, 72, 72, 112, 5, 7, 7,
6, 0, 0, 136, 136, 136, 200, 168, 168, 200, 5, 7, 7, 6, 0, 0,
112, 136, 40, 80, 8, 136, 112, 5, 5, 5, 6, 0, 0, 64, 160, 144,
144, 104, 5, 7, 7, 6, 0, 0, 32, 48, 40, 40, 32, 224, 224, 5,
7, 7, 6, 0, 0, 248, 136, 128, 128, 128, 128, 128, 5, 5, 5, 6,
0, 0, 248, 80, 80, 80, 152, 5, 7, 7, 6, 0, 0, 248, 128, 64,
32, 64, 128, 248, 5, 5, 5, 6, 0, 0, 120, 144, 144, 144, 96, 5,
7, 7, 6, 0, 0, 48, 40, 56, 40, 200, 216, 24, 5, 6, 6, 6,
0, 0, 8, 112, 160, 32, 32, 16, 5, 6, 6, 6, 0, 1, 32, 112,
112, 112, 248, 32, 5, 7, 7, 6, 0, 0, 112, 136, 136, 248, 136, 136,
112, 5, 5, 5, 6, 0, 0, 112, 136, 136, 80, 216, 5, 7, 7, 6,
0, 0, 48, 72, 32, 80, 136, 136, 112, 5, 3, 3, 6, 0, 2, 88,
168, 208, 5, 6, 6, 6, 0, 0, 80, 248, 248, 248, 112, 32, 5, 5,
5, 6, 0, 0, 112, 128, 96, 136, 112, 5, 7, 7, 6, 0, 0, 112,
136, 136, 136, 136, 136, 136, 5, 7, 7, 6, 0, 0, 216, 216, 216, 216,
216, 216, 216, 1, 7, 7, 6, 2, 0, 128, 0, 128, 128, 128, 128, 128,
5, 7, 7, 6, 0, 0, 32, 112, 160, 160, 168, 112, 32, 5, 7, 7,
6, 0, 0, 48, 64, 64, 224, 64, 80, 168, 5, 5, 5, 6, 0, 0,
136, 112, 80, 112, 136, 5, 7, 7, 6, 0, 0, 136, 80, 248, 32, 248,
32, 32, 1, 7, 7, 6, 2, 0, 128, 128, 128, 0, 128, 128, 128, 5,
8, 8, 6, 0, 0, 48, 72, 32, 80, 80, 32, 144, 96, 5, 7, 7,
6, 0, 0, 24, 32, 32, 112, 32, 32, 192, 5, 7, 7, 6, 0, 0,
248, 136, 184, 184, 184, 136, 248, 5, 7, 7, 6, 0, 0, 112, 8, 120,
136, 120, 0, 248, 5, 5, 5, 6, 0, 1, 40, 80, 160, 80, 40, 5,
7, 7, 6, 0, 0, 144, 168, 168, 232, 168, 168, 144, 5, 7, 7, 6,
0, 0, 120, 136, 136, 120, 40, 72, 136, 5, 7, 7, 6, 0, 0, 248,
136, 168, 136, 152, 168, 248, 2, 3, 3, 6, 2, 4, 64, 128, 192, 4,
5, 5, 6, 0, 3, 96, 144, 144, 144, 96, 5, 7, 7, 6, 0, 0,
32, 32, 248, 32, 32, 0, 248, 4, 5, 5, 6, 0, 3, 96, 144, 32,
64, 240, 3, 5, 5, 6, 0, 3, 224, 32, 224, 32, 224, 5, 8, 8,
6, 0, 0, 224, 144, 224, 128, 144, 184, 144, 24, 5, 8, 8, 6, 0,
255, 136, 136, 136, 136, 152, 232, 128, 128, 5, 7, 7, 6, 0, 0, 120,
152, 152, 120, 24, 24, 24, 2, 2, 2, 6, 2, 2, 192, 192, 5, 5,
5, 6, 0, 0, 80, 136, 168, 168, 80, 3, 5, 5, 6, 0, 3, 64,
192, 64, 64, 224, 5, 7, 7, 6, 0, 0, 112, 136, 136, 136, 112, 0,
248, 5, 5, 5, 6, 0, 1, 160, 80, 40, 80, 160, 5, 7, 7, 6,
0, 0, 136, 144, 168, 88, 184, 8, 8, 5, 7, 7, 6, 0, 0, 136,
144, 184, 72, 152, 32, 56, 5, 8, 8, 6, 0, 0, 192, 64, 192, 72,
216, 56, 8, 8, 5, 7, 7, 6, 0, 0, 32, 0, 32, 64, 128, 136,
112, 5, 8, 8, 6, 0, 0, 64, 32, 32, 80, 136, 248, 136, 136, 5,
8, 8, 6, 0, 0, 16, 32, 32, 80, 136, 248, 136, 136, 5, 8, 8,
6, 0, 0, 32, 80, 0, 112, 136, 248, 136, 136, 5, 8, 8, 6, 0,
0, 104, 144, 0, 112, 136, 248, 136, 136, 5, 8, 8, 6, 0, 0, 80,
0, 32, 80, 136, 248, 136, 136, 5, 8, 8, 6, 0, 0, 32, 80, 32,
112, 136, 248, 136, 136, 5, 7, 7, 6, 0, 0, 56, 96, 160, 184, 224,
160, 184, 5, 8, 8, 6, 0, 255, 112, 136, 128, 128, 136, 112, 32, 96,
5, 8, 8, 6, 0, 0, 64, 32, 0, 248, 128, 240, 128, 248, 5, 8,
8, 6, 0, 0, 8, 16, 0, 248, 128, 240, 128, 248, 5, 8, 8, 6,
0, 0, 32, 80, 0, 248, 128, 240, 128, 248, 5, 7, 7, 6, 0, 0,
80, 0, 248, 128, 240, 128, 248, 3, 8, 8, 6, 1, 0, 128, 64, 0,
224, 64, 64, 64, 224, 3, 8, 8, 6, 1, 0, 32, 64, 0, 224, 64,
64, 64, 224, 3, 8, 8, 6, 1, 0, 64, 160, 0, 224, 64, 64, 64,
224, 3, 7, 7, 6, 1, 0, 160, 0, 224, 64, 64, 64, 224, 5, 7,
7, 6, 0, 0, 112, 72, 72, 232, 72, 72, 112, 5, 8, 8, 6, 0,
0, 104, 144, 0, 136, 200, 168, 152, 136, 5, 8, 8, 6, 0, 0, 64,
32, 112, 136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 16, 32, 112,
136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 32, 80, 0, 112, 136,
136, 136, 112, 5, 8, 8, 6, 0, 0, 104, 144, 0, 112, 136, 136, 136,
112, 5, 8, 8, 6, 0, 0, 80, 0, 112, 136, 136, 136, 136, 112, 5,
5, 5, 6, 0, 1, 136, 80, 32, 80, 136, 5, 7, 7, 6, 0, 0,
112, 32, 112, 168, 112, 32, 112, 5, 8, 8, 6, 0, 0, 64, 32, 136,
136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 16, 32, 136, 136, 136,
136, 136, 112, 5, 8, 8, 6, 0, 0, 32, 80, 0, 136, 136, 136, 136,
112, 5, 8, 8, 6, 0, 0, 80, 0, 136, 136, 136, 136, 136, 112, 5,
8, 8, 6, 0, 0, 16, 32, 136, 80, 32, 32, 32, 32, 5, 8, 8,
6, 0, 0, 192, 64, 112, 72, 72, 112, 64, 224, 5, 7, 7, 6, 0,
0, 48, 72, 72, 112, 72, 72, 176, 5, 8, 8, 6, 0, 0, 64, 32,
0, 112, 8, 120, 136, 120, 5, 8, 8, 6, 0, 0, 16, 32, 0, 112,
8, 120, 136, 120, 5, 8, 8, 6, 0, 0, 32, 80, 0, 112, 8, 120,
136, 120, 5, 8, 8, 6, 0, 0, 104, 144, 0, 112, 8, 120, 136, 120,
5, 7, 7, 6, 0, 0, 80, 0, 112, 8, 120, 136, 120, 5, 8, 8,
6, 0, 0, 32, 80, 32, 112, 8, 120, 136, 120, 5, 6, 6, 6, 0,
0, 208, 40, 120, 160, 168, 80, 5, 6, 6, 6, 0, 255, 112, 128, 136,
112, 32, 96, 5, 8, 8, 6, 0, 0, 64, 32, 0, 112, 136, 248, 128,
112, 5, 8, 8, 6, 0, 0, 16, 32, 0, 112, 136, 248, 128, 112, 5,
8, 8, 6, 0, 0, 32, 80, 0, 112, 136, 248, 128, 112, 5, 7, 7,
6, 0, 0, 80, 0, 112, 136, 248, 128, 112, 3, 8, 8, 6, 1, 0,
128, 64, 0, 64, 192, 64, 64, 224, 3, 8, 8, 6, 1, 0, 32, 64,
0, 64, 192, 64, 64, 224, 3, 8, 8, 6, 1, 0, 64, 160, 0, 64,
192, 64, 64, 224, 3, 7, 7, 6, 1, 0, 160, 0, 64, 192, 64, 64,
224, 5, 7, 7, 6, 0, 0, 160, 64, 160, 16, 120, 136, 112, 5, 8,
8, 6, 0, 0, 104, 144, 0, 176, 200, 136, 136, 136, 5, 8, 8, 6,
0, 0, 64, 32, 0, 112, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0,
16, 32, 0, 112, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 32, 80,
0, 112, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 104, 144, 0, 112,
136, 136, 136, 112, 5, 7, 7, 6, 0, 0, 80, 0, 112, 136, 136, 136,
112, 5, 5, 5, 6, 0, 1, 32, 0, 248, 0, 32, 5, 7, 7, 6,
0, 0, 16, 32, 112, 168, 112, 32, 64, 5, 8, 8, 6, 0, 0, 64,
32, 0, 136, 136, 136, 152, 104, 5, 8, 8, 6, 0, 0, 16, 32, 0,
136, 136, 136, 152, 104, 5, 8, 8, 6, 0, 0, 32, 80, 0, 136, 136,
136, 152, 104, 5, 7, 7, 6, 0, 0, 80, 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, 0, 192, 64, 96, 80, 96, 64, 224, 5, 8, 8, 6,
0, 255, 80, 0, 136, 136, 136, 248, 8, 112
};

View file

@ -20,263 +20,282 @@
* *
*/ */
/** #include "u8g.h"
Fontname: ISO10646-1
Copyright: A.Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
#if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7) #if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7)
// reduced font (only sysmbols 1 - 127) - saves about 1278 bytes of FLASH
// 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") = { Fontname: -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0
0,6,9,0,254,7,1,146,3,33,32,127,255,7,255,7, Copyright:
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128, Capital A Height: 7, '1' Height: 7
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6, Calculated Max Values w= 5 h=10 x= 5 y= 5 dx= 6 dy= 0 ascent= 8 len=10
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32, Font Bounding box w= 6 h=10 x= 0 y=-2
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32, Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104, Pure Font ascent = 7 descent=-1
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32, X Font ascent = 7 descent=-1
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32, Max Font ascent = 8 descent=-2
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, const u8g_fntpgm_uint8_t ISO10646_1_5x7[1302] U8G_FONT_SECTION(".progmem.ISO10646_1_5x7") = {
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192, 0x00,0x06,0x0a,0x00,0xfe,0x07,0x02,0x22,0x03,0xb1,0x01,0x7f,0xff,0x08,0xfe,0x07,
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6, 0xff,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05,
0,0,112,136,136,136,136,136,112,3,7,7,6,1,0,64, 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05,
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112, 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70,
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240, 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8,
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, 0xb8,0x88,0x88,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xe0,0x80,0xc0,0xb0,0xa8,
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0, 0x28,0x30,0x28,0x28,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,
112,128,128,240,136,136,112,5,7,7,6,0,0,248,8,16, 0x88,0xa8,0xf8,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, 0xa8,0x88,0x70,0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,
112,5,7,7,6,0,0,112,136,136,120,8,8,112,2,5, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192, 0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64, 0x80,0x80,0x80,0x00,0x80,0x03,0x02,0x02,0x06,0x01,0x05,0xa0,0xa0,0x05,0x07,0x07,
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1, 0x06,0x00,0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0x00,
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136, 0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0xc8,0x10,
8,16,32,0,32,5,7,7,6,0,0,112,136,8,104,168, 0x20,0x40,0x98,0x18,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0x90,0xa0,0x40,0xa8,0x90,
168,112,5,7,7,6,0,0,112,136,136,248,136,136,136,5, 0x68,0x02,0x03,0x03,0x06,0x01,0x04,0xc0,0x40,0x80,0x03,0x07,0x07,0x06,0x01,0x00,
7,7,6,0,0,240,136,136,240,136,136,240,5,7,7,6, 0x20,0x40,0x80,0x80,0x80,0x40,0x20,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x20,
0,0,112,136,128,128,128,136,112,5,7,7,6,0,0,240, 0x20,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0xa8,0x70,0xa8,0x20,0x05,
136,136,136,136,136,240,5,7,7,6,0,0,248,128,128,240, 0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03,0x03,0x06,0x02,0xff,
128,128,248,5,7,7,6,0,0,248,128,128,240,128,128,128, 0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02,0x02,0x06,0x02,0x00,
5,7,7,6,0,0,112,136,128,184,136,136,112,5,7,7, 0xc0,0xc0,0x05,0x05,0x05,0x06,0x00,0x01,0x08,0x10,0x20,0x40,0x80,0x05,0x07,0x07,
6,0,0,136,136,136,248,136,136,136,1,7,7,6,2,0, 0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,
128,128,128,128,128,128,128,5,7,7,6,0,0,56,16,16, 0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,
16,16,144,96,5,7,7,6,0,0,136,144,160,192,160,144, 0x70,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x10,0x20,0x10,0x08,0x08,
136,5,7,7,6,0,0,128,128,128,128,128,128,248,5,7, 0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50,0x90,0xf8,0x10,0x10,0x05,0x07,
7,6,0,0,136,216,168,136,136,136,136,5,7,7,6,0, 0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,
0,136,136,200,168,152,136,136,5,7,7,6,0,0,112,136, 0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,
136,136,136,136,112,5,7,7,6,0,0,240,136,136,240,128, 0x10,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x70,0x88,
128,128,5,7,7,6,0,0,112,136,136,136,168,144,104,5, 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x78,0x08,0x10,0x60,0x02,
7,7,6,0,0,240,136,136,240,160,144,136,5,7,7,6, 0x05,0x05,0x06,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x02,0xff,
0,0,120,128,128,112,8,8,240,5,7,7,6,0,0,248, 0xc0,0xc0,0x00,0xc0,0x40,0x80,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x40,0x80,
32,32,32,32,32,32,5,7,7,6,0,0,136,136,136,136, 0x40,0x20,0x10,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8,0x04,0x07,0x07,0x06,
136,136,112,5,7,7,6,0,0,136,136,136,136,136,80,32, 0x01,0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,
5,7,7,6,0,0,136,136,136,136,136,168,80,5,7,7, 0x88,0x08,0x10,0x20,0x00,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x08,0x68,
6,0,0,136,136,80,32,80,136,136,5,7,7,6,0,0, 0xa8,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,
136,136,136,80,32,32,32,5,7,7,6,0,0,248,8,16, 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,
32,64,128,248,3,7,7,6,1,0,224,128,128,128,128,128, 0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xe0,
224,5,5,5,6,0,1,128,64,32,16,8,3,7,7,6, 0x90,0x88,0x88,0x88,0x90,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,
1,0,224,32,32,32,32,32,224,5,3,3,6,0,4,32, 0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0x80,
80,136,5,1,1,6,0,0,248,2,2,2,6,2,5,128, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0xb8,0x88,0x88,0x70,0x05,0x07,0x07,
64,5,5,5,6,0,0,112,8,120,136,120,5,7,7,6, 0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,
0,0,128,128,176,200,136,136,240,5,5,5,6,0,0,112, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x10,0x10,
128,128,136,112,5,7,7,6,0,0,8,8,104,152,136,136, 0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,
120,5,5,5,6,0,0,112,136,248,128,112,5,7,7,6, 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x05,0x07,
0,0,48,72,224,64,64,64,64,5,6,6,6,0,255,112, 0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,
136,136,120,8,112,5,7,7,6,0,0,128,128,176,200,136, 0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,
136,136,1,7,7,6,2,0,128,0,128,128,128,128,128,3, 0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,
8,8,6,1,255,32,0,32,32,32,32,160,64,4,7,7, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8,0x90,0x68,0x05,
6,0,0,128,128,144,160,192,160,144,3,7,7,6,1,0, 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,
192,64,64,64,64,64,224,5,5,5,6,0,0,208,168,168, 0x00,0x00,0x78,0x80,0x80,0x70,0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,
168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5, 0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,
6,0,0,112,136,136,136,112,5,6,6,6,0,255,240,136, 0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x50,0x20,
136,240,128,128,5,6,6,6,0,255,120,136,136,120,8,8, 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0xa8,0x50,0x05,0x07,0x07,
5,5,5,6,0,0,176,200,128,128,128,5,5,5,6,0, 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,
0,112,128,112,8,240,4,7,7,6,0,0,64,64,224,64, 0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,
64,64,48,5,5,5,6,0,0,136,136,136,152,104,5,5, 0x20,0x40,0x80,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x80,0x80,0x80,0x80,0x80,
5,6,0,0,136,136,136,80,32,5,5,5,6,0,0,136, 0xe0,0x05,0x05,0x05,0x06,0x00,0x01,0x80,0x40,0x20,0x10,0x08,0x03,0x07,0x07,0x06,
136,168,168,80,5,5,5,6,0,0,136,80,32,80,136,5, 0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x04,0x20,
6,6,6,0,255,136,136,136,120,8,112,5,5,5,6,0, 0x50,0x88,0x05,0x01,0x01,0x06,0x00,0x00,0xf8,0x02,0x02,0x02,0x06,0x02,0x05,0x80,
0,248,16,32,64,248,3,7,7,6,1,0,32,64,64,128, 0x40,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,
64,64,32,1,7,7,6,2,0,128,128,128,128,128,128,128, 0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,
3,7,7,6,1,0,128,64,64,32,64,64,128,5,2,2, 0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x68,0x98,0x88,0x88,
6,0,2,104,144,0,0,0,6,0,0}; 0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,
0x00,0x00,0x30,0x48,0xe0,0x40,0x40,0x40,0x40,0x05,0x06,0x06,0x06,0x00,0xff,0x70,
0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,
0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x03,
0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x04,0x07,0x07,
0x06,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x03,0x07,0x07,0x06,0x01,0x00,
0xc0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,
0xa8,0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,
0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,
0x88,0xf0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,0x78,0x88,0x88,0x78,0x08,0x08,
0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,
0x00,0x70,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xe0,0x40,
0x40,0x48,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,
0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,
0x88,0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,
0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x05,0x05,0x06,0x00,
0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80,
0x40,0x40,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x05,0x02,0x02,
0x06,0x00,0x03,0x68,0x90,0xff};
#else #else
// extended (original) font (sysmbols 1 - 255)
// extended (original) font (sysmbols 32 - 255) /*
const u8g_fntpgm_uint8_t ISO10646_1_5x7[2592] U8G_SECTION(".progmem.ISO10646_1_5x7") = { Fontname: -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0
0, 6, 9, 0, 254, 7, 1, 146, 3, 33, 32, 255, 255, 8, 255, 7, Copyright:
255, 0, 0, 0, 6, 0, 0, 1, 7, 7, 6, 2, 0, 128, 128, 128, Capital A Height: 7, '1' Height: 7
128, 128, 0, 128, 3, 2, 2, 6, 1, 5, 160, 160, 5, 7, 7, 6, Calculated Max Values w= 5 h=10 x= 5 y= 7 dx= 6 dy= 0 ascent= 9 len=10
0, 0, 80, 80, 248, 80, 248, 80, 80, 5, 7, 7, 6, 0, 0, 32, Font Bounding box w= 6 h=10 x= 0 y=-2
120, 160, 112, 40, 240, 32, 5, 7, 7, 6, 0, 0, 192, 200, 16, 32, Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
64, 152, 24, 5, 7, 7, 6, 0, 0, 96, 144, 160, 64, 168, 144, 104, Pure Font ascent = 7 descent=-1
2, 3, 3, 6, 1, 4, 192, 64, 128, 3, 7, 7, 6, 1, 0, 32, X Font ascent = 7 descent=-1
64, 128, 128, 128, 64, 32, 3, 7, 7, 6, 1, 0, 128, 64, 32, 32, Max Font ascent = 9 descent=-2
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, const u8g_fntpgm_uint8_t ISO10646_1_5x7[2580] U8G_FONT_SECTION(".progmem.ISO10646_1_5x7") = {
64, 128, 5, 1, 1, 6, 0, 3, 248, 2, 2, 2, 6, 2, 0, 192, 0x00,0x06,0x0a,0x00,0xfe,0x07,0x02,0x22,0x03,0xb1,0x01,0xff,0xff,0x09,0xfe,0x07,
192, 5, 5, 5, 6, 0, 1, 8, 16, 32, 64, 128, 5, 7, 7, 6, 0xff,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05,
0, 0, 112, 136, 136, 136, 136, 136, 112, 3, 7, 7, 6, 1, 0, 64, 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05,
192, 64, 64, 64, 64, 224, 5, 7, 7, 6, 0, 0, 112, 136, 8, 112, 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70,
128, 128, 248, 5, 7, 7, 6, 0, 0, 248, 16, 32, 16, 8, 8, 240, 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8,
5, 7, 7, 6, 0, 0, 16, 48, 80, 144, 248, 16, 16, 5, 7, 7, 0xb8,0x88,0x88,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xe0,0x80,0xc0,0xb0,0xa8,
6, 0, 0, 248, 128, 240, 8, 8, 136, 112, 5, 7, 7, 6, 0, 0, 0x28,0x30,0x28,0x28,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,
112, 128, 128, 240, 136, 136, 112, 5, 7, 7, 6, 0, 0, 248, 8, 16, 0x88,0xa8,0xf8,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,
32, 32, 32, 32, 5, 7, 7, 6, 0, 0, 112, 136, 136, 112, 136, 136, 0xa8,0x88,0x70,0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,
112, 5, 7, 7, 6, 0, 0, 112, 136, 136, 120, 8, 8, 112, 2, 5, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
5, 6, 2, 0, 192, 192, 0, 192, 192, 2, 6, 6, 6, 2, 255, 192, 0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,
192, 0, 192, 64, 128, 4, 7, 7, 6, 0, 0, 16, 32, 64, 128, 64, 0x80,0x80,0x80,0x00,0x80,0x03,0x02,0x02,0x06,0x01,0x05,0xa0,0xa0,0x05,0x07,0x07,
32, 16, 5, 3, 3, 6, 0, 2, 248, 0, 248, 4, 7, 7, 6, 1, 0x06,0x00,0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0x00,
0, 128, 64, 32, 16, 32, 64, 128, 5, 7, 7, 6, 0, 0, 112, 136, 0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0xc8,0x10,
8, 16, 32, 0, 32, 5, 7, 7, 6, 0, 0, 112, 136, 8, 104, 168, 0x20,0x40,0x98,0x18,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0x90,0xa0,0x40,0xa8,0x90,
168, 112, 5, 7, 7, 6, 0, 0, 112, 136, 136, 248, 136, 136, 136, 5, 0x68,0x02,0x03,0x03,0x06,0x01,0x04,0xc0,0x40,0x80,0x03,0x07,0x07,0x06,0x01,0x00,
7, 7, 6, 0, 0, 240, 136, 136, 240, 136, 136, 240, 5, 7, 7, 6, 0x20,0x40,0x80,0x80,0x80,0x40,0x20,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x20,
0, 0, 112, 136, 128, 128, 128, 136, 112, 5, 7, 7, 6, 0, 0, 240, 0x20,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0xa8,0x70,0xa8,0x20,0x05,
136, 136, 136, 136, 136, 240, 5, 7, 7, 6, 0, 0, 248, 128, 128, 240, 0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03,0x03,0x06,0x02,0xff,
128, 128, 248, 5, 7, 7, 6, 0, 0, 248, 128, 128, 240, 128, 128, 128, 0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02,0x02,0x06,0x02,0x00,
5, 7, 7, 6, 0, 0, 112, 136, 128, 184, 136, 136, 112, 5, 7, 7, 0xc0,0xc0,0x05,0x05,0x05,0x06,0x00,0x01,0x08,0x10,0x20,0x40,0x80,0x05,0x07,0x07,
6, 0, 0, 136, 136, 136, 248, 136, 136, 136, 1, 7, 7, 6, 2, 0, 0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,
128, 128, 128, 128, 128, 128, 128, 5, 7, 7, 6, 0, 0, 56, 16, 16, 0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,
16, 16, 144, 96, 5, 7, 7, 6, 0, 0, 136, 144, 160, 192, 160, 144, 0x70,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x10,0x20,0x10,0x08,0x08,
136, 5, 7, 7, 6, 0, 0, 128, 128, 128, 128, 128, 128, 248, 5, 7, 0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50,0x90,0xf8,0x10,0x10,0x05,0x07,
7, 6, 0, 0, 136, 216, 168, 136, 136, 136, 136, 5, 7, 7, 6, 0, 0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,
0, 136, 136, 200, 168, 152, 136, 136, 5, 7, 7, 6, 0, 0, 112, 136, 0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,
136, 136, 136, 136, 112, 5, 7, 7, 6, 0, 0, 240, 136, 136, 240, 128, 0x10,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x70,0x88,
128, 128, 5, 7, 7, 6, 0, 0, 112, 136, 136, 136, 168, 144, 104, 5, 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x78,0x08,0x10,0x60,0x02,
7, 7, 6, 0, 0, 240, 136, 136, 240, 160, 144, 136, 5, 7, 7, 6, 0x05,0x05,0x06,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x02,0xff,
0, 0, 120, 128, 128, 112, 8, 8, 240, 5, 7, 7, 6, 0, 0, 248, 0xc0,0xc0,0x00,0xc0,0x40,0x80,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x40,0x80,
32, 32, 32, 32, 32, 32, 5, 7, 7, 6, 0, 0, 136, 136, 136, 136, 0x40,0x20,0x10,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8,0x04,0x07,0x07,0x06,
136, 136, 112, 5, 7, 7, 6, 0, 0, 136, 136, 136, 136, 136, 80, 32, 0x01,0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,
5, 7, 7, 6, 0, 0, 136, 136, 136, 136, 136, 168, 80, 5, 7, 7, 0x88,0x08,0x10,0x20,0x00,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x08,0x68,
6, 0, 0, 136, 136, 80, 32, 80, 136, 136, 5, 7, 7, 6, 0, 0, 0xa8,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,
136, 136, 136, 80, 32, 32, 32, 5, 7, 7, 6, 0, 0, 248, 8, 16, 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,
32, 64, 128, 248, 3, 7, 7, 6, 1, 0, 224, 128, 128, 128, 128, 128, 0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xe0,
224, 5, 5, 5, 6, 0, 1, 128, 64, 32, 16, 8, 3, 7, 7, 6, 0x90,0x88,0x88,0x88,0x90,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,
1, 0, 224, 32, 32, 32, 32, 32, 224, 5, 3, 3, 6, 0, 4, 32, 0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0x80,
80, 136, 5, 1, 1, 6, 0, 0, 248, 2, 2, 2, 6, 2, 5, 128, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0xb8,0x88,0x88,0x70,0x05,0x07,0x07,
64, 5, 5, 5, 6, 0, 0, 112, 8, 120, 136, 120, 5, 7, 7, 6, 0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,
0, 0, 128, 128, 176, 200, 136, 136, 240, 5, 5, 5, 6, 0, 0, 112, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x10,0x10,
128, 128, 136, 112, 5, 7, 7, 6, 0, 0, 8, 8, 104, 152, 136, 136, 0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,
120, 5, 5, 5, 6, 0, 0, 112, 136, 248, 128, 112, 5, 7, 7, 6, 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x05,0x07,
0, 0, 48, 72, 224, 64, 64, 64, 64, 5, 6, 6, 6, 0, 255, 112, 0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,
136, 136, 120, 8, 112, 5, 7, 7, 6, 0, 0, 128, 128, 176, 200, 136, 0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,
136, 136, 1, 7, 7, 6, 2, 0, 128, 0, 128, 128, 128, 128, 128, 3, 0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,
8, 8, 6, 1, 255, 32, 0, 32, 32, 32, 32, 160, 64, 4, 7, 7, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8,0x90,0x68,0x05,
6, 0, 0, 128, 128, 144, 160, 192, 160, 144, 3, 7, 7, 6, 1, 0, 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,
192, 64, 64, 64, 64, 64, 224, 5, 5, 5, 6, 0, 0, 208, 168, 168, 0x00,0x00,0x78,0x80,0x80,0x70,0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,
168, 168, 5, 5, 5, 6, 0, 0, 176, 200, 136, 136, 136, 5, 5, 5, 0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,
6, 0, 0, 112, 136, 136, 136, 112, 5, 6, 6, 6, 0, 255, 240, 136, 0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x50,0x20,
136, 240, 128, 128, 5, 6, 6, 6, 0, 255, 120, 136, 136, 120, 8, 8, 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0xa8,0x50,0x05,0x07,0x07,
5, 5, 5, 6, 0, 0, 176, 200, 128, 128, 128, 5, 5, 5, 6, 0, 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,
0, 112, 128, 112, 8, 240, 4, 7, 7, 6, 0, 0, 64, 64, 224, 64, 0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,
64, 64, 48, 5, 5, 5, 6, 0, 0, 136, 136, 136, 152, 104, 5, 5, 0x20,0x40,0x80,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x80,0x80,0x80,0x80,0x80,
5, 6, 0, 0, 136, 136, 136, 80, 32, 5, 5, 5, 6, 0, 0, 136, 0xe0,0x05,0x05,0x05,0x06,0x00,0x01,0x80,0x40,0x20,0x10,0x08,0x03,0x07,0x07,0x06,
136, 168, 168, 80, 5, 5, 5, 6, 0, 0, 136, 80, 32, 80, 136, 5, 0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x04,0x20,
6, 6, 6, 0, 255, 136, 136, 136, 120, 8, 112, 5, 5, 5, 6, 0, 0x50,0x88,0x05,0x01,0x01,0x06,0x00,0x00,0xf8,0x02,0x02,0x02,0x06,0x02,0x05,0x80,
0, 248, 16, 32, 64, 248, 3, 7, 7, 6, 1, 0, 32, 64, 64, 128, 0x40,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,
64, 64, 32, 1, 7, 7, 6, 2, 0, 128, 128, 128, 128, 128, 128, 128, 0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,
3, 7, 7, 6, 1, 0, 128, 64, 64, 32, 64, 64, 128, 5, 2, 2, 0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x68,0x98,0x88,0x88,
6, 0, 2, 104, 144, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0x00,0x00,0x30,0x48,0xe0,0x40,0x40,0x40,0x40,0x05,0x06,0x06,0x06,0x00,0xff,0x70,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x03,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x04,0x07,0x07,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0x06,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x03,0x07,0x07,0x06,0x01,0x00,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0xc0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0xa8,0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0x88,0xf0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,0x78,0x88,0x88,0x78,0x08,0x08,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,
6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0x00,0x70,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xe0,0x40,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0x40,0x48,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,
0, 1, 7, 7, 6, 2, 0, 128, 0, 128, 128, 128, 128, 128, 5, 7, 0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,
7, 6, 0, 0, 32, 112, 168, 160, 168, 112, 32, 5, 7, 7, 6, 0, 0x88,0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,
0, 48, 64, 64, 224, 64, 80, 168, 5, 5, 5, 6, 0, 0, 136, 112, 0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x05,0x05,0x06,0x00,
80, 112, 136, 5, 7, 7, 6, 0, 0, 136, 80, 32, 248, 32, 248, 32, 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80,
1, 7, 7, 6, 2, 0, 128, 128, 128, 0, 128, 128, 128, 5, 8, 8, 0x40,0x40,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
6, 0, 0, 48, 72, 32, 80, 80, 32, 144, 96, 3, 1, 1, 6, 1, 0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x05,0x02,0x02,
7, 160, 5, 7, 7, 6, 0, 0, 248, 136, 184, 184, 184, 136, 248, 5, 0x06,0x00,0x03,0x68,0x90,0xff,0x05,0x09,0x09,0x06,0x00,0x00,0x30,0x48,0x40,0xf0,
7, 7, 6, 0, 1, 112, 8, 120, 136, 120, 0, 248, 5, 5, 5, 6, 0x40,0xf0,0x40,0x48,0x30,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0, 1, 40, 80, 160, 80, 40, 5, 3, 3, 6, 0, 1, 248, 8, 8, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
2, 2, 2, 6, 2, 6, 64, 128, 5, 7, 7, 6, 0, 0, 248, 136, 0xff,0xff,0xff,0xff,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,
168, 136, 152, 168, 248, 5, 1, 1, 6, 0, 6, 248, 4, 4, 4, 6, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,
0, 3, 96, 144, 144, 96, 5, 7, 7, 6, 0, 0, 32, 32, 248, 32, 0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x40,0xe0,0x40,0x50,0xa8,0x05,0x05,0x05,0x06,
32, 0, 248, 4, 5, 5, 6, 0, 3, 96, 144, 32, 64, 240, 3, 5, 0x00,0x00,0x88,0x70,0x50,0x70,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0x20,
5, 6, 0, 3, 224, 32, 224, 32, 224, 2, 2, 2, 6, 2, 6, 64, 0xf8,0x20,0xf8,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,
128, 5, 8, 8, 6, 0, 255, 136, 136, 136, 136, 152, 232, 128, 128, 5, 0x80,0x05,0x08,0x08,0x06,0x00,0x00,0x30,0x48,0x20,0x50,0x50,0x20,0x90,0x60,0x03,
7, 7, 6, 0, 0, 120, 152, 152, 120, 24, 24, 24, 2, 2, 2, 6, 0x01,0x01,0x06,0x01,0x07,0xa0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0xb8,0xb8,
2, 2, 192, 192, 2, 2, 2, 6, 2, 255, 64, 128, 3, 5, 5, 6, 0xb8,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x01,0x70,0x08,0x78,0x88,0x78,0x00,0xf8,
0, 3, 64, 192, 64, 64, 224, 5, 7, 7, 6, 0, 1, 112, 136, 136, 0x05,0x05,0x05,0x06,0x00,0x01,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,
136, 112, 0, 248, 5, 5, 5, 6, 0, 1, 160, 80, 40, 80, 160, 5, 0x01,0xf8,0x08,0x08,0x02,0x02,0x02,0x06,0x02,0x06,0x40,0x80,0x05,0x07,0x07,0x06,
7, 7, 6, 0, 0, 136, 144, 168, 88, 184, 8, 8, 5, 7, 7, 6, 0x00,0x00,0xf8,0x88,0xa8,0x88,0x98,0xa8,0xf8,0x05,0x01,0x01,0x06,0x00,0x06,0xf8,
0, 0, 136, 144, 184, 72, 152, 32, 56, 5, 8, 8, 6, 0, 0, 192, 0x04,0x04,0x04,0x06,0x00,0x03,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,
64, 192, 72, 216, 56, 8, 8, 5, 7, 7, 6, 0, 0, 32, 0, 32, 0x20,0x20,0xf8,0x20,0x20,0x00,0xf8,0x04,0x05,0x05,0x06,0x00,0x03,0x60,0x90,0x20,
64, 128, 136, 112, 5, 8, 8, 6, 0, 0, 64, 32, 0, 112, 136, 248, 0x40,0xf0,0x03,0x05,0x05,0x06,0x00,0x03,0xe0,0x20,0xe0,0x20,0xe0,0x02,0x02,0x02,
136, 136, 5, 8, 8, 6, 0, 0, 16, 32, 0, 112, 136, 248, 136, 136, 0x06,0x02,0x06,0x40,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x98,
5, 8, 8, 6, 0, 0, 32, 80, 0, 112, 136, 248, 136, 136, 5, 8, 0xe8,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x98,0x98,0x78,0x18,0x18,0x18,
8, 6, 0, 0, 104, 144, 0, 112, 136, 248, 136, 136, 5, 8, 8, 6, 0x02,0x02,0x02,0x06,0x02,0x02,0xc0,0xc0,0x02,0x02,0x02,0x06,0x02,0xff,0x40,0x80,
0, 0, 80, 0, 112, 136, 136, 248, 136, 136, 5, 8, 8, 6, 0, 0, 0x03,0x05,0x05,0x06,0x00,0x03,0x40,0xc0,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,
32, 80, 32, 112, 136, 248, 136, 136, 5, 7, 7, 6, 0, 0, 56, 96, 0x01,0x70,0x88,0x88,0x88,0x70,0x00,0xf8,0x05,0x05,0x05,0x06,0x00,0x01,0xa0,0x50,
160, 184, 224, 160, 184, 5, 8, 8, 6, 0, 255, 112, 136, 128, 128, 136, 0x28,0x50,0xa0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa8,0x58,0xb8,0x08,0x08,
112, 32, 96, 5, 8, 8, 6, 0, 0, 64, 32, 0, 248, 128, 240, 128, 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xb8,0x48,0x98,0x20,0x38,0x05,0x08,0x08,
248, 5, 8, 8, 6, 0, 0, 8, 16, 0, 248, 128, 240, 128, 248, 5, 0x06,0x00,0x00,0xc0,0x40,0xc0,0x48,0xd8,0x38,0x08,0x08,0x05,0x07,0x07,0x06,0x00,
8, 8, 6, 0, 0, 32, 80, 0, 248, 128, 240, 128, 248, 5, 7, 7, 0x00,0x20,0x00,0x20,0x40,0x80,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,
6, 0, 0, 80, 0, 248, 128, 240, 128, 248, 3, 8, 8, 6, 1, 0, 0x00,0x70,0x88,0xf8,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,
128, 64, 0, 224, 64, 64, 64, 224, 3, 8, 8, 6, 1, 0, 32, 64, 0x88,0xf8,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0xf8,
0, 224, 64, 64, 64, 224, 3, 8, 8, 6, 1, 0, 64, 160, 0, 224, 0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,0x00,0x70,0x88,0xf8,0x88,0x88,
64, 64, 64, 224, 3, 7, 7, 6, 1, 0, 160, 0, 224, 64, 64, 64, 0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x05,0x08,
224, 5, 7, 7, 6, 0, 0, 112, 72, 72, 232, 72, 72, 112, 5, 8, 0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x70,0x88,0xf8,0x88,0x88,0x05,0x07,0x07,0x06,
8, 6, 0, 0, 104, 144, 0, 136, 200, 168, 152, 136, 5, 8, 8, 6, 0x00,0x00,0x38,0x60,0xa0,0xb8,0xe0,0xa0,0xb8,0x05,0x08,0x08,0x06,0x00,0xff,0x70,
0, 0, 64, 32, 112, 136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 0x88,0x80,0x80,0x88,0x70,0x20,0x60,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,
16, 32, 112, 136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 32, 80, 0xf8,0x80,0xf0,0x80,0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x08,0x10,0x00,0xf8,0x80,
0, 112, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 104, 144, 0, 112, 0xf0,0x80,0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80,0xf0,0x80,
136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 80, 0, 112, 136, 136, 136, 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0xf0,0x80,0xf8,0x03,0x08,
136, 112, 5, 5, 5, 6, 0, 1, 136, 80, 32, 80, 136, 5, 8, 8, 0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,
6, 0, 255, 16, 112, 168, 168, 168, 168, 112, 64, 5, 8, 8, 6, 0, 0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,
0, 64, 32, 136, 136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 16, 0x40,0xa0,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,
32, 136, 136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 32, 80, 0, 0xe0,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,
136, 136, 136, 136, 112, 5, 8, 8, 6, 0, 0, 80, 0, 136, 136, 136, 0x48,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,0x00,0x88,0xc8,0xa8,0x98,0x88,
136, 136, 112, 5, 8, 8, 6, 0, 0, 16, 32, 136, 80, 32, 32, 32, 0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x70,0x88,0x88,0x88,0x88,0x70,0x05,0x08,
32, 5, 9, 9, 6, 0, 255, 192, 64, 112, 72, 72, 112, 64, 64, 224, 0x08,0x06,0x00,0x00,0x10,0x20,0x70,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,
4, 8, 8, 6, 1, 255, 96, 144, 144, 160, 144, 144, 224, 128, 5, 8, 0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,
8, 6, 0, 0, 64, 32, 0, 112, 8, 120, 136, 120, 5, 8, 8, 6, 0x68,0x90,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x00,
0, 0, 16, 32, 0, 112, 8, 120, 136, 120, 5, 8, 8, 6, 0, 0, 0x70,0x88,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,
32, 80, 0, 112, 8, 120, 136, 120, 5, 8, 8, 6, 0, 0, 104, 144, 0x88,0x05,0x08,0x08,0x06,0x00,0xff,0x10,0x70,0xa8,0xa8,0xa8,0xa8,0x70,0x40,0x05,
0, 112, 8, 120, 136, 120, 5, 7, 7, 6, 0, 0, 80, 0, 112, 8, 0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,
120, 136, 120, 5, 8, 8, 6, 0, 0, 32, 80, 32, 112, 8, 120, 136, 0x06,0x00,0x00,0x10,0x20,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,
120, 5, 6, 6, 6, 0, 0, 208, 40, 120, 160, 168, 80, 5, 6, 6, 0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,
6, 0, 255, 112, 128, 136, 112, 32, 96, 5, 8, 8, 6, 0, 0, 64, 0x00,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x88,
32, 0, 112, 136, 248, 128, 112, 5, 8, 8, 6, 0, 0, 16, 32, 0, 0x50,0x20,0x20,0x20,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xc0,0x40,0x70,0x48,0x48,
112, 136, 248, 128, 112, 5, 8, 8, 6, 0, 0, 32, 80, 0, 112, 136, 0x70,0x40,0x40,0xe0,0x04,0x08,0x08,0x06,0x01,0xff,0x60,0x90,0x90,0xa0,0x90,0x90,
248, 128, 112, 5, 7, 7, 6, 0, 0, 80, 0, 112, 136, 248, 128, 112, 0xe0,0x80,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78,
3, 8, 8, 6, 1, 0, 128, 64, 0, 64, 192, 64, 64, 224, 3, 8, 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,
8, 6, 1, 0, 32, 64, 0, 64, 192, 64, 64, 224, 3, 8, 8, 6, 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,
1, 0, 64, 160, 0, 64, 192, 64, 64, 224, 3, 7, 7, 6, 1, 0, 0x00,0x00,0x68,0x90,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,
160, 0, 64, 192, 64, 64, 224, 5, 7, 7, 6, 0, 0, 160, 64, 160, 0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,
16, 120, 136, 112, 5, 8, 8, 6, 0, 0, 104, 144, 0, 176, 200, 136, 0x70,0x08,0x78,0x88,0x78,0x05,0x06,0x06,0x06,0x00,0x00,0xd0,0x28,0x78,0xa0,0xa8,
136, 136, 5, 8, 8, 6, 0, 0, 64, 32, 0, 112, 136, 136, 136, 112, 0x50,0x05,0x06,0x06,0x06,0x00,0xff,0x70,0x80,0x88,0x70,0x20,0x60,0x05,0x08,0x08,
5, 8, 8, 6, 0, 0, 16, 32, 0, 112, 136, 136, 136, 112, 5, 8, 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x08,0x08,0x06,0x00,
8, 6, 0, 0, 32, 80, 0, 112, 136, 136, 136, 112, 5, 8, 8, 6, 0x00,0x10,0x20,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,
0, 0, 104, 144, 0, 112, 136, 136, 136, 112, 5, 7, 7, 6, 0, 0, 0x50,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,
80, 0, 112, 136, 136, 136, 112, 5, 5, 5, 6, 0, 1, 32, 0, 248, 0x88,0xf8,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0x40,0xc0,0x40,
0, 32, 5, 7, 7, 6, 0, 255, 16, 112, 168, 168, 168, 112, 64, 5, 0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0x40,0xc0,0x40,0x40,0xe0,
8, 8, 6, 0, 0, 64, 32, 0, 136, 136, 136, 152, 104, 5, 8, 8, 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0x40,0xc0,0x40,0x40,0xe0,0x03,0x07,
6, 0, 0, 16, 32, 0, 136, 136, 136, 152, 104, 5, 8, 8, 6, 0, 0x07,0x06,0x01,0x00,0xa0,0x00,0x40,0xc0,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,
0, 32, 80, 0, 136, 136, 136, 152, 104, 5, 7, 7, 6, 0, 0, 80, 0x00,0xa0,0x40,0xa0,0x10,0x78,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,
0, 136, 136, 136, 152, 104, 5, 9, 9, 6, 0, 255, 16, 32, 0, 136, 0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,
136, 136, 248, 8, 112, 4, 7, 7, 6, 1, 255, 192, 64, 96, 80, 96, 0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,
64, 224, 5, 8, 8, 6, 0, 255, 80, 0, 136, 136, 136, 120, 8, 112 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x70,
}; 0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x07,
0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,
0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0xff,0x10,0x70,0xa8,0xa8,
0xa8,0x70,0x40,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x98,
0x68,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x98,0x68,0x05,
0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x07,0x07,
0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x09,0x09,0x06,0x00,0xff,
0x10,0x20,0x00,0x88,0x88,0x88,0xf8,0x08,0x70,0x04,0x07,0x07,0x06,0x01,0xff,0xc0,
0x40,0x60,0x50,0x60,0x40,0xe0,0x05,0x08,0x08,0x06,0x00,0xff,0x50,0x00,0x88,0x88,
0x88,0x78,0x08,0x70};
#endif #endif

View file

@ -1,184 +0,0 @@
/*
Fontname: ISO10646-1-PL
Copyright: A.Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-2
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_1_PL_5x7[2732] U8G_FONT_SECTION(".progmem.ISO10646_1_PL_5x7") = {
0,6,9,0,254,7,1,146,3,33,32,255,255,8,254,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,5,9,9,6,0,
254,112,136,136,248,136,136,136,16,32,5,7,7,6,0,254,
112,8,120,136,120,16,32,5,8,8,6,0,0,16,32,112,
136,128,128,136,112,5,7,7,6,0,0,16,32,112,128,128,
136,112,5,9,9,6,0,254,248,128,128,240,128,128,248,8,
16,5,7,7,6,0,254,112,136,248,128,112,16,32,5,7,
7,6,0,0,128,144,160,192,128,128,248,5,7,7,6,0,
0,96,40,48,96,160,32,112,5,8,8,6,0,0,16,168,
136,200,168,152,136,136,5,8,8,6,0,0,8,16,0,176,
200,136,136,136,5,8,8,6,0,0,16,32,112,136,136,136,
136,112,5,8,8,6,0,0,16,32,0,112,136,136,136,112,
5,8,8,6,0,0,16,120,128,128,112,8,8,240,5,8,
8,6,0,0,16,32,0,112,128,112,8,240,5,8,8,6,
0,0,32,248,8,16,32,64,128,248,5,8,8,6,0,0,
16,32,0,248,16,32,64,248,5,7,7,6,0,0,248,8,
16,248,64,128,248,5,8,8,6,0,0,48,48,0,248,16,
32,64,248,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,1,7,7,
6,2,0,128,0,128,128,128,128,128,5,7,7,6,0,0,
32,112,168,160,168,112,32,5,7,7,6,0,0,48,64,64,
224,64,80,168,5,5,5,6,0,0,136,112,80,112,136,5,
7,7,6,0,0,136,80,32,248,32,248,32,1,7,7,6,
2,0,128,128,128,0,128,128,128,5,8,8,6,0,0,48,
72,32,80,80,32,144,96,3,1,1,6,1,7,160,5,7,
7,6,0,0,248,136,184,184,184,136,248,5,7,7,6,0,
1,112,8,120,136,120,0,248,5,5,5,6,0,1,40,80,
160,80,40,5,3,3,6,0,1,248,8,8,2,2,2,6,
2,6,64,128,5,7,7,6,0,0,248,136,168,136,152,168,
248,5,1,1,6,0,6,248,4,4,4,6,0,3,96,144,
144,96,5,7,7,6,0,0,32,32,248,32,32,0,248,4,
5,5,6,0,3,96,144,32,64,240,3,5,5,6,0,3,
224,32,224,32,224,2,2,2,6,2,6,64,128,5,8,8,
6,0,255,136,136,136,136,152,232,128,128,5,7,7,6,0,
0,120,152,152,120,24,24,24,2,2,2,6,2,2,192,192,
2,2,2,6,2,255,64,128,3,5,5,6,0,3,64,192,
64,64,224,5,7,7,6,0,1,112,136,136,136,112,0,248,
5,5,5,6,0,1,160,80,40,80,160,5,7,7,6,0,
0,136,144,168,88,184,8,8,5,7,7,6,0,0,136,144,
184,72,152,32,56,5,8,8,6,0,0,192,64,192,72,216,
56,8,8,5,7,7,6,0,0,32,0,32,64,128,136,112,
5,8,8,6,0,0,64,32,0,112,136,248,136,136,5,8,
8,6,0,0,16,32,0,112,136,248,136,136,5,8,8,6,
0,0,32,80,0,112,136,248,136,136,5,8,8,6,0,0,
104,144,0,112,136,248,136,136,5,8,8,6,0,0,80,0,
112,136,136,248,136,136,5,8,8,6,0,0,32,80,32,112,
136,248,136,136,5,7,7,6,0,0,56,96,160,184,224,160,
184,5,8,8,6,0,255,112,136,128,128,136,112,32,96,5,
8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,8,
6,0,0,8,16,0,248,128,240,128,248,5,8,8,6,0,
0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,80,
0,248,128,240,128,248,3,8,8,6,1,0,128,64,0,224,
64,64,64,224,3,8,8,6,1,0,32,64,0,224,64,64,
64,224,3,8,8,6,1,0,64,160,0,224,64,64,64,224,
3,7,7,6,1,0,160,0,224,64,64,64,224,5,7,7,
6,0,0,112,72,72,232,72,72,112,5,8,8,6,0,0,
104,144,0,136,200,168,152,136,5,8,8,6,0,0,64,32,
112,136,136,136,136,112,5,8,8,6,0,0,16,32,112,136,
136,136,136,112,5,8,8,6,0,0,32,80,0,112,136,136,
136,112,5,8,8,6,0,0,104,144,0,112,136,136,136,112,
5,8,8,6,0,0,80,0,112,136,136,136,136,112,5,5,
5,6,0,1,136,80,32,80,136,5,8,8,6,0,255,16,
112,168,168,168,168,112,64,5,8,8,6,0,0,64,32,136,
136,136,136,136,112,5,8,8,6,0,0,16,32,136,136,136,
136,136,112,5,8,8,6,0,0,32,80,0,136,136,136,136,
112,5,8,8,6,0,0,80,0,136,136,136,136,136,112,5,
8,8,6,0,0,16,32,136,80,32,32,32,32,5,9,9,
6,0,255,192,64,112,72,72,112,64,64,224,4,8,8,6,
1,255,96,144,144,160,144,144,224,128,5,8,8,6,0,0,
64,32,0,112,8,120,136,120,5,8,8,6,0,0,16,32,
0,112,8,120,136,120,5,8,8,6,0,0,32,80,0,112,
8,120,136,120,5,8,8,6,0,0,104,144,0,112,8,120,
136,120,5,7,7,6,0,0,80,0,112,8,120,136,120,5,
8,8,6,0,0,32,80,32,112,8,120,136,120,5,6,6,
6,0,0,208,40,120,160,168,80,5,6,6,6,0,255,112,
128,136,112,32,96,5,8,8,6,0,0,64,32,0,112,136,
248,128,112,5,8,8,6,0,0,16,32,0,112,136,248,128,
112,5,8,8,6,0,0,32,80,0,112,136,248,128,112,5,
7,7,6,0,0,80,0,112,136,248,128,112,3,8,8,6,
1,0,128,64,0,64,192,64,64,224,3,8,8,6,1,0,
32,64,0,64,192,64,64,224,3,8,8,6,1,0,64,160,
0,64,192,64,64,224,3,7,7,6,1,0,160,0,64,192,
64,64,224,5,7,7,6,0,0,160,64,160,16,120,136,112,
5,8,8,6,0,0,104,144,0,176,200,136,136,136,5,8,
8,6,0,0,64,32,0,112,136,136,136,112,5,8,8,6,
0,0,16,32,0,112,136,136,136,112,5,8,8,6,0,0,
32,80,0,112,136,136,136,112,5,8,8,6,0,0,104,144,
0,112,136,136,136,112,5,7,7,6,0,0,80,0,112,136,
136,136,112,5,5,5,6,0,1,32,0,248,0,32,5,7,
7,6,0,255,16,112,168,168,168,112,64,5,8,8,6,0,
0,64,32,0,136,136,136,152,104,5,8,8,6,0,0,16,
32,0,136,136,136,152,104,5,8,8,6,0,0,32,80,0,
136,136,136,152,104,5,7,7,6,0,0,80,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,64,224,5,8,
8,6,0,255,80,0,136,136,136,120,8,112};

View file

@ -1,197 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/*
Fontname: ISO10646-1-tr
Copyright: public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_TR[2591] U8G_SECTION(".progmem.ISO10646_TR") = {
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,
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,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,1,7,7,6,2,0,128,0,128,128,128,128,128,5,7,
7,6,0,0,32,112,168,160,168,112,32,5,7,7,6,0,
0,48,64,64,224,64,80,168,5,5,5,6,0,0,136,112,
80,112,136,5,7,7,6,0,0,136,80,32,248,32,248,32,
1,7,7,6,2,0,128,128,128,0,128,128,128,5,8,8,
6,0,0,48,72,32,80,80,32,144,96,3,1,1,6,1,
7,160,5,7,7,6,0,0,248,136,184,184,184,136,248,5,
7,7,6,0,1,112,8,120,136,120,0,248,5,5,5,6,
0,1,40,80,160,80,40,5,3,3,6,0,1,248,8,8,
2,2,2,6,2,6,64,128,5,7,7,6,0,0,248,136,
168,136,152,168,248,5,1,1,6,0,6,248,4,4,4,6,
0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,32,
32,0,248,4,5,5,6,0,3,96,144,32,64,240,3,5,
5,6,0,3,224,32,224,32,224,2,2,2,6,2,6,64,
128,5,8,8,6,0,255,136,136,136,136,152,232,128,128,5,
7,7,6,0,0,120,152,152,120,24,24,24,2,2,2,6,
2,2,192,192,2,2,2,6,2,255,64,128,3,5,5,6,
0,3,64,192,64,64,224,5,7,7,6,0,1,112,136,136,
136,112,0,248,5,5,5,6,0,1,160,80,40,80,160,5,
7,7,6,0,0,136,144,168,88,184,8,8,5,7,7,6,
0,0,136,144,184,72,152,32,56,5,8,8,6,0,0,192,
64,192,72,216,56,8,8,5,7,7,6,0,0,32,0,32,
64,128,136,112,5,8,8,6,0,0,64,32,0,112,136,248,
136,136,5,8,8,6,0,0,16,32,0,112,136,248,136,136,
5,8,8,6,0,0,32,80,0,112,136,248,136,136,5,8,
8,6,0,0,104,144,0,112,136,248,136,136,5,8,8,6,
0,0,80,0,112,136,136,248,136,136,5,8,8,6,0,0,
32,80,32,112,136,248,136,136,5,7,7,6,0,0,56,96,
160,184,224,160,184,5,8,8,6,0,255,112,136,128,128,136,
112,32,96,5,8,8,6,0,0,64,32,0,248,128,240,128,
248,5,8,8,6,0,0,8,16,0,248,128,240,128,248,5,
8,8,6,0,0,32,80,0,248,128,240,128,248,5,7,7,
6,0,0,80,0,248,128,240,128,248,3,8,8,6,1,0,
128,64,0,224,64,64,64,224,3,8,8,6,1,0,32,64,
0,224,64,64,64,224,3,8,8,6,1,0,64,160,0,224,
64,64,64,224,3,7,7,6,1,0,160,0,224,64,64,64,
224,5,9,9,6,0,255,80,32,112,136,128,184,136,136,112,
5,8,8,6,0,0,104,144,0,136,200,168,152,136,5,8,
8,6,0,0,64,32,112,136,136,136,136,112,5,8,8,6,
0,0,16,32,112,136,136,136,136,112,5,8,8,6,0,0,
32,80,0,112,136,136,136,112,5,8,8,6,0,0,104,144,
0,112,136,136,136,112,5,8,8,6,0,0,80,0,112,136,
136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,5,
8,8,6,0,255,16,112,168,168,168,168,112,64,5,8,8,
6,0,0,64,32,136,136,136,136,136,112,5,8,8,6,0,
0,16,32,136,136,136,136,136,112,5,8,8,6,0,0,32,
80,0,136,136,136,136,112,5,8,8,6,0,0,80,0,136,
136,136,136,136,112,1,7,7,6,2,0,128,0,128,128,128,
128,128,5,9,9,6,0,255,120,128,128,112,8,8,240,32,
96,4,8,8,6,1,255,96,144,144,160,144,144,224,128,5,
8,8,6,0,0,64,32,0,112,8,120,136,120,5,8,8,
6,0,0,16,32,0,112,8,120,136,120,5,8,8,6,0,
0,32,80,0,112,8,120,136,120,5,8,8,6,0,0,104,
144,0,112,8,120,136,120,5,7,7,6,0,0,80,0,112,
8,120,136,120,5,8,8,6,0,0,32,80,32,112,8,120,
136,120,5,6,6,6,0,0,208,40,120,160,168,80,5,7,
7,6,0,255,112,128,128,136,112,32,96,5,8,8,6,0,
0,64,32,0,112,136,248,128,112,5,8,8,6,0,0,16,
32,0,112,136,248,128,112,5,8,8,6,0,0,32,80,0,
112,136,248,128,112,5,7,7,6,0,0,80,0,112,136,248,
128,112,3,8,8,6,1,0,128,64,0,64,192,64,64,224,
3,8,8,6,1,0,32,64,0,64,192,64,64,224,3,8,
8,6,1,0,64,160,0,64,192,64,64,224,3,7,7,6,
1,0,160,0,64,192,64,64,224,5,8,8,6,0,255,80,
32,112,136,136,120,8,112,5,8,8,6,0,0,104,144,0,
176,200,136,136,136,5,8,8,6,0,0,64,32,0,112,136,
136,136,112,5,8,8,6,0,0,16,32,0,112,136,136,136,
112,5,8,8,6,0,0,32,80,0,112,136,136,136,112,5,
8,8,6,0,0,104,144,0,112,136,136,136,112,5,7,7,
6,0,0,80,0,112,136,136,136,112,5,5,5,6,0,1,
32,0,248,0,32,5,7,7,6,0,255,16,112,168,168,168,
112,64,5,8,8,6,0,0,64,32,0,136,136,136,152,104,
5,8,8,6,0,0,16,32,0,136,136,136,152,104,5,8,
8,6,0,0,32,80,0,136,136,136,152,104,5,7,7,6,
0,0,80,0,136,136,136,152,104,1,5,5,6,2,0,128,
128,128,128,128,5,7,7,6,0,255,112,128,112,8,240,32,
96,5,8,8,6,0,255,80,0,136,136,136,120,8,112};

View file

@ -1,196 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: ISO10646_5_Cyrillic
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_5_Cyrillic_5x7[2560] U8G_SECTION(".progmem.ISO10646_5_Cyrillic_5x7") = {
0, 6, 9, 0, 254, 7, 1, 145, 3, 32, 32, 255, 255, 8, 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, 152, 168, 200, 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,
48, 64, 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, 16, 96, 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, 6, 6, 6, 0, 0, 112, 136, 8, 104, 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, 224, 144,
136, 136, 136, 144, 224, 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, 5, 7, 7, 6, 0, 0, 64, 64, 224, 64, 64,
72, 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, 3, 104, 144, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 5, 8, 8, 6, 0, 0,
64, 248, 128, 128, 240, 128, 128, 248, 5, 8, 8, 6, 0, 0, 80, 248,
128, 128, 240, 128, 128, 248, 5, 7, 7, 6, 0, 0, 224, 64, 64, 112,
72, 72, 112, 5, 8, 8, 6, 0, 0, 16, 32, 248, 136, 128, 128, 128,
128, 5, 7, 7, 6, 0, 0, 48, 72, 128, 224, 128, 72, 48, 5, 7,
7, 6, 0, 0, 112, 136, 128, 112, 8, 136, 112, 3, 7, 7, 6, 1,
0, 224, 64, 64, 64, 64, 64, 224, 3, 8, 8, 6, 1, 0, 160, 0,
224, 64, 64, 64, 64, 224, 5, 7, 7, 6, 0, 0, 56, 16, 16, 16,
16, 144, 96, 5, 7, 7, 6, 0, 0, 160, 160, 160, 184, 168, 168, 184,
5, 7, 7, 6, 0, 0, 160, 160, 160, 248, 168, 168, 184, 4, 7, 7,
6, 0, 0, 224, 64, 112, 80, 80, 80, 80, 5, 8, 8, 6, 0, 0,
16, 32, 136, 144, 160, 224, 144, 136, 5, 8, 8, 6, 0, 0, 64, 32,
136, 152, 168, 200, 136, 136, 5, 9, 9, 6, 0, 255, 80, 32, 136, 136,
136, 80, 32, 32, 32, 5, 8, 8, 6, 0, 255, 136, 136, 136, 136, 136,
136, 248, 32, 5, 7, 7, 6, 0, 0, 112, 136, 136, 248, 136, 136, 136,
5, 7, 7, 6, 0, 0, 248, 128, 128, 240, 136, 136, 240, 5, 7, 7,
6, 0, 0, 240, 136, 136, 240, 136, 136, 240, 5, 7, 7, 6, 0, 0,
248, 136, 128, 128, 128, 128, 128, 5, 8, 8, 6, 0, 255, 120, 40, 40,
40, 72, 136, 248, 136, 5, 7, 7, 6, 0, 0, 248, 128, 128, 240, 128,
128, 248, 5, 7, 7, 6, 0, 0, 168, 168, 168, 112, 168, 168, 168, 5,
7, 7, 6, 0, 0, 240, 8, 8, 112, 8, 8, 240, 5, 7, 7, 6,
0, 0, 136, 136, 152, 168, 200, 136, 136, 5, 8, 8, 6, 0, 0, 80,
32, 136, 152, 168, 168, 200, 136, 5, 7, 7, 6, 0, 0, 136, 144, 160,
192, 160, 144, 136, 5, 7, 7, 6, 0, 0, 120, 40, 40, 40, 40, 168,
72, 5, 7, 7, 6, 0, 0, 136, 216, 168, 136, 136, 136, 136, 5, 7,
7, 6, 0, 0, 136, 136, 136, 248, 136, 136, 136, 5, 7, 7, 6, 0,
0, 112, 136, 136, 136, 136, 136, 112, 5, 7, 7, 6, 0, 0, 248, 136,
136, 136, 136, 136, 136, 5, 7, 7, 6, 0, 0, 240, 136, 136, 240, 128,
128, 128, 5, 7, 7, 6, 0, 0, 112, 136, 128, 128, 128, 136, 112, 5,
7, 7, 6, 0, 0, 248, 32, 32, 32, 32, 32, 32, 5, 7, 7, 6,
0, 0, 136, 136, 136, 80, 32, 64, 128, 5, 7, 7, 6, 0, 0, 32,
112, 168, 168, 168, 112, 32, 5, 7, 7, 6, 0, 0, 136, 136, 80, 32,
80, 136, 136, 5, 8, 8, 6, 0, 255, 136, 136, 136, 136, 136, 136, 248,
8, 5, 7, 7, 6, 0, 0, 136, 136, 136, 152, 104, 8, 8, 5, 7,
7, 6, 0, 0, 168, 168, 168, 168, 168, 168, 248, 5, 8, 8, 6, 0,
255, 168, 168, 168, 168, 168, 168, 248, 8, 5, 7, 7, 6, 0, 0, 192,
64, 64, 112, 72, 72, 112, 5, 7, 7, 6, 0, 0, 136, 136, 136, 200,
168, 168, 200, 5, 7, 7, 6, 0, 0, 128, 128, 128, 240, 136, 136, 240,
5, 7, 7, 6, 0, 0, 112, 136, 8, 56, 8, 136, 112, 5, 7, 7,
6, 0, 0, 144, 168, 168, 232, 168, 168, 144, 5, 7, 7, 6, 0, 0,
120, 136, 136, 120, 40, 72, 136, 5, 5, 5, 6, 0, 0, 112, 8, 120,
136, 120, 5, 7, 7, 6, 0, 0, 24, 96, 128, 240, 136, 136, 112, 4,
5, 5, 6, 0, 0, 224, 144, 224, 144, 224, 5, 5, 5, 6, 0, 0,
248, 136, 128, 128, 128, 5, 6, 6, 6, 0, 255, 120, 40, 72, 136, 248,
136, 5, 5, 5, 6, 0, 0, 112, 136, 248, 128, 112, 5, 5, 5, 6,
0, 0, 168, 168, 112, 168, 168, 5, 5, 5, 6, 0, 0, 240, 8, 48,
8, 240, 5, 5, 5, 6, 0, 0, 136, 152, 168, 200, 136, 5, 7, 7,
6, 0, 0, 80, 32, 136, 152, 168, 200, 136, 4, 5, 5, 6, 0, 0,
144, 160, 192, 160, 144, 5, 5, 5, 6, 0, 0, 248, 40, 40, 168, 72,
5, 5, 5, 6, 0, 0, 136, 216, 168, 136, 136, 5, 5, 5, 6, 0,
0, 136, 136, 248, 136, 136, 5, 5, 5, 6, 0, 0, 112, 136, 136, 136,
112, 5, 5, 5, 6, 0, 0, 248, 136, 136, 136, 136, 5, 6, 6, 6,
0, 255, 240, 136, 136, 240, 128, 128, 5, 5, 5, 6, 0, 0, 112, 128,
128, 136, 112, 5, 5, 5, 6, 0, 0, 248, 32, 32, 32, 32, 5, 6,
6, 6, 0, 255, 136, 136, 136, 120, 8, 112, 5, 6, 6, 6, 0, 0,
32, 112, 168, 168, 112, 32, 5, 5, 5, 6, 0, 0, 136, 80, 32, 80,
136, 5, 6, 6, 6, 0, 255, 136, 136, 136, 136, 248, 8, 5, 5, 5,
6, 0, 0, 136, 136, 248, 8, 8, 5, 5, 5, 6, 0, 0, 168, 168,
168, 168, 248, 5, 6, 6, 6, 0, 255, 168, 168, 168, 168, 248, 8, 5,
5, 5, 6, 0, 0, 192, 64, 112, 72, 112, 5, 5, 5, 6, 0, 0,
136, 136, 200, 168, 200, 3, 5, 5, 6, 1, 0, 128, 128, 192, 160, 192,
5, 5, 5, 6, 0, 0, 112, 136, 56, 136, 112, 5, 5, 5, 6, 0,
0, 144, 168, 232, 168, 144, 5, 5, 5, 6, 0, 0, 120, 136, 120, 40,
72, 5, 8, 8, 6, 0, 0, 64, 32, 0, 112, 136, 248, 128, 112, 5,
7, 7, 6, 0, 0, 80, 0, 112, 136, 248, 128, 112, 5, 9, 9, 6,
0, 255, 64, 224, 64, 64, 120, 72, 72, 72, 16, 5, 8, 8, 6, 0,
0, 16, 32, 0, 248, 136, 128, 128, 128, 5, 5, 5, 6, 0, 0, 112,
136, 96, 136, 112, 5, 5, 5, 6, 0, 0, 112, 128, 112, 8, 240, 1,
7, 7, 6, 2, 0, 128, 0, 128, 128, 128, 128, 128, 3, 7, 7, 6,
1, 0, 160, 0, 64, 64, 64, 64, 64, 3, 8, 8, 6, 1, 255, 32,
0, 32, 32, 32, 32, 160, 64, 5, 5, 5, 6, 0, 0, 160, 160, 184,
168, 184, 5, 5, 5, 6, 0, 0, 160, 160, 248, 168, 184, 5, 6, 6,
6, 0, 0, 64, 224, 64, 120, 72, 72, 4, 8, 8, 6, 0, 0, 16,
32, 0, 144, 160, 192, 160, 144, 5, 8, 8, 6, 0, 0, 64, 32, 0,
136, 152, 168, 200, 136, 5, 9, 9, 6, 0, 255, 80, 32, 0, 136, 136,
136, 120, 8, 112, 5, 6, 6, 6, 0, 255, 136, 136, 136, 136, 248, 32
};

View file

@ -1,293 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: ISO10646_CN
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w=11 h=11 x= 2 y=10 dx=12 dy= 0 ascent=10 len=22
Font Bounding box w=12 h=11 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent =10 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_CN[4105] U8G_SECTION(".progmem.ISO10646_CN") = {
0, 12, 11, 0, 254, 7, 1, 146, 3, 33, 32, 255, 255, 10, 255, 7,
255, 0, 0, 0, 6, 0, 10, 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, 152, 168, 200, 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, 0,
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, 0, 0, 224, 128, 128, 128, 128, 128,
224, 5, 5, 5, 6, 0, 1, 128, 64, 32, 16, 8, 3, 7, 7, 6,
0, 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, 1, 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, 3, 104, 144, 0, 0, 0, 6, 0, 10, 0, 0, 0, 12, 0,
10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0,
12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0,
0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0,
10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0,
12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0,
0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0,
10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0,
12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0,
0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0,
10, 0, 0, 0, 12, 0, 10, 0, 0, 0, 12, 0, 10, 0, 0, 0,
12, 0, 10, 0, 0, 0, 12, 0, 10, 11, 11, 22, 12, 0, 255, 255,
224, 2, 0, 2, 0, 4, 0, 13, 0, 20, 128, 36, 64, 196, 32, 4,
0, 4, 0, 4, 0, 11, 11, 22, 12, 0, 255, 249, 0, 138, 0, 171,
224, 172, 64, 170, 64, 170, 64, 170, 64, 170, 128, 33, 0, 82, 128, 140,
96, 11, 11, 22, 12, 0, 255, 36, 0, 36, 0, 63, 128, 68, 0, 132,
0, 4, 0, 255, 224, 10, 0, 17, 0, 32, 128, 192, 96, 11, 11, 22,
12, 0, 255, 36, 0, 36, 0, 63, 192, 68, 0, 4, 0, 255, 224, 9,
0, 9, 0, 17, 32, 33, 32, 64, 224, 11, 11, 22, 12, 0, 255, 32,
0, 61, 224, 81, 32, 145, 32, 17, 32, 255, 32, 17, 32, 41, 32, 37,
224, 69, 32, 128, 0, 11, 11, 22, 12, 0, 255, 32, 128, 127, 192, 8,
64, 255, 224, 17, 0, 32, 128, 95, 64, 128, 32, 63, 128, 0, 0, 127,
192, 11, 11, 22, 12, 0, 255, 34, 64, 71, 224, 148, 128, 228, 128, 47,
224, 68, 128, 244, 128, 7, 224, 52, 128, 196, 128, 7, 224, 11, 11, 22,
12, 0, 255, 4, 128, 143, 224, 73, 0, 25, 0, 47, 192, 9, 0, 9,
0, 47, 192, 73, 0, 137, 0, 15, 224, 11, 11, 22, 12, 0, 255, 16,
0, 63, 128, 81, 0, 14, 0, 49, 128, 192, 96, 63, 128, 36, 128, 63,
128, 36, 128, 63, 128, 11, 11, 22, 12, 0, 255, 34, 128, 250, 64, 7,
224, 250, 128, 138, 128, 138, 128, 250, 128, 34, 128, 178, 128, 170, 160, 100,
224, 11, 11, 22, 12, 0, 255, 34, 32, 71, 64, 146, 128, 239, 224, 34,
0, 71, 192, 236, 64, 7, 192, 52, 64, 199, 192, 4, 64, 11, 11, 22,
12, 0, 255, 8, 0, 15, 192, 8, 0, 8, 0, 255, 224, 8, 0, 14,
0, 9, 128, 8, 64, 8, 0, 8, 0, 10, 11, 22, 12, 0, 255, 255,
128, 0, 128, 0, 128, 128, 128, 128, 128, 255, 128, 128, 0, 128, 0, 128,
64, 128, 64, 127, 192, 11, 11, 22, 12, 0, 255, 71, 192, 65, 0, 239,
224, 65, 0, 69, 0, 105, 96, 201, 32, 77, 96, 73, 32, 79, 224, 200,
32, 11, 11, 22, 12, 0, 255, 8, 0, 4, 0, 4, 0, 10, 0, 10,
0, 10, 0, 17, 0, 17, 0, 32, 128, 64, 64, 128, 32, 11, 11, 22,
12, 0, 255, 34, 64, 34, 0, 247, 224, 34, 0, 35, 224, 53, 32, 229,
32, 37, 64, 40, 128, 41, 64, 114, 32, 11, 10, 20, 12, 0, 0, 68,
64, 68, 64, 68, 64, 127, 192, 4, 0, 4, 0, 132, 32, 132, 32, 132,
32, 255, 224, 11, 11, 22, 12, 0, 255, 4, 0, 0, 0, 127, 192, 4,
0, 4, 0, 4, 0, 127, 192, 4, 0, 4, 0, 4, 0, 255, 224, 11,
11, 22, 12, 0, 255, 255, 224, 17, 0, 1, 192, 254, 0, 72, 128, 37,
0, 4, 0, 255, 224, 21, 0, 36, 128, 196, 96, 11, 11, 22, 12, 0,
255, 17, 0, 127, 192, 68, 64, 127, 192, 68, 64, 127, 192, 4, 0, 255,
224, 4, 0, 4, 0, 4, 0, 9, 11, 22, 12, 0, 255, 16, 0, 255,
128, 128, 128, 128, 128, 255, 128, 128, 128, 128, 128, 255, 128, 128, 128, 128,
128, 255, 128, 11, 11, 22, 12, 0, 255, 113, 0, 1, 0, 3, 224, 249,
32, 33, 32, 65, 32, 81, 32, 137, 32, 250, 32, 2, 32, 4, 192, 11,
11, 22, 12, 0, 255, 127, 192, 17, 0, 17, 0, 17, 0, 17, 0, 255,
224, 17, 0, 17, 0, 33, 0, 33, 0, 65, 0, 11, 11, 22, 12, 0,
255, 33, 0, 34, 0, 244, 64, 87, 224, 80, 32, 87, 192, 148, 64, 84,
64, 36, 64, 87, 192, 148, 64, 11, 11, 22, 12, 0, 255, 17, 0, 10,
0, 127, 192, 4, 0, 4, 0, 255, 224, 4, 0, 10, 0, 17, 0, 32,
128, 192, 96, 10, 11, 22, 12, 0, 255, 95, 192, 0, 64, 132, 64, 132,
64, 191, 64, 132, 64, 140, 64, 148, 64, 164, 64, 140, 64, 129, 192, 11,
11, 22, 12, 0, 255, 36, 0, 39, 192, 36, 0, 36, 0, 255, 224, 0,
0, 20, 64, 36, 128, 71, 0, 12, 0, 112, 0, 11, 11, 22, 12, 0,
255, 36, 128, 4, 128, 15, 192, 228, 128, 36, 128, 63, 224, 36, 128, 36,
128, 40, 128, 80, 0, 143, 224, 11, 11, 22, 12, 0, 255, 8, 0, 8,
0, 255, 128, 136, 128, 136, 128, 255, 128, 136, 128, 136, 128, 255, 160, 136,
32, 7, 224, 11, 11, 22, 12, 0, 255, 39, 128, 36, 128, 244, 128, 36,
128, 116, 128, 108, 128, 164, 128, 36, 128, 36, 160, 40, 160, 48, 96, 10,
11, 22, 12, 0, 255, 255, 192, 128, 64, 128, 64, 158, 64, 146, 64, 146,
64, 158, 64, 128, 64, 128, 64, 255, 192, 128, 64, 11, 11, 22, 12, 0,
255, 127, 192, 68, 0, 95, 192, 80, 64, 95, 192, 80, 64, 95, 192, 66,
0, 74, 128, 82, 64, 166, 32, 11, 11, 22, 12, 0, 255, 4, 0, 7,
224, 4, 0, 127, 192, 64, 64, 64, 64, 64, 64, 127, 192, 0, 0, 82,
64, 137, 32, 11, 11, 22, 12, 0, 255, 71, 128, 36, 128, 4, 128, 4,
128, 232, 96, 32, 0, 47, 192, 36, 64, 34, 128, 49, 0, 38, 192, 11,
11, 22, 12, 0, 255, 127, 192, 74, 64, 127, 192, 4, 0, 255, 224, 4,
0, 63, 128, 32, 128, 36, 128, 36, 128, 255, 224, 11, 11, 22, 12, 0,
255, 34, 0, 79, 224, 72, 32, 79, 224, 200, 0, 79, 224, 74, 160, 90,
160, 111, 224, 74, 160, 72, 96, 11, 11, 22, 12, 0, 255, 243, 192, 36,
64, 42, 128, 241, 0, 34, 128, 101, 224, 114, 32, 165, 64, 32, 128, 35,
0, 44, 0, 11, 11, 22, 12, 0, 255, 4, 0, 255, 224, 128, 32, 0,
0, 255, 224, 4, 0, 36, 0, 39, 192, 36, 0, 84, 0, 143, 224, 11,
11, 22, 12, 0, 255, 115, 224, 16, 128, 81, 0, 35, 224, 250, 32, 42,
160, 34, 160, 34, 160, 32, 128, 33, 64, 98, 32, 11, 11, 22, 12, 0,
255, 34, 0, 247, 128, 34, 128, 54, 128, 226, 160, 37, 160, 36, 96, 104,
32, 0, 0, 82, 64, 137, 32, 11, 11, 22, 12, 0, 255, 115, 192, 66,
0, 66, 0, 123, 224, 74, 64, 74, 64, 122, 64, 74, 64, 66, 64, 68,
64, 136, 64, 11, 11, 22, 12, 0, 255, 8, 0, 255, 224, 8, 0, 31,
192, 48, 64, 95, 192, 144, 64, 31, 192, 16, 64, 16, 64, 16, 192, 11,
11, 22, 12, 0, 255, 2, 0, 127, 224, 66, 0, 66, 0, 95, 192, 66,
0, 71, 0, 74, 128, 82, 64, 98, 32, 130, 0, 11, 11, 22, 12, 0,
255, 243, 192, 150, 64, 145, 128, 166, 96, 161, 0, 151, 192, 145, 0, 149,
0, 231, 224, 129, 0, 129, 0, 11, 11, 22, 12, 0, 255, 15, 128, 136,
128, 79, 128, 8, 128, 143, 128, 64, 0, 31, 192, 53, 64, 85, 64, 149,
64, 63, 224, 11, 11, 22, 12, 0, 255, 39, 224, 32, 128, 248, 128, 32,
128, 32, 128, 56, 128, 224, 128, 32, 128, 32, 128, 32, 128, 97, 128, 11,
11, 22, 12, 0, 255, 31, 224, 145, 0, 87, 192, 20, 64, 23, 192, 148,
64, 87, 192, 17, 0, 85, 64, 153, 32, 35, 0, 11, 11, 22, 12, 0,
255, 32, 128, 39, 224, 242, 64, 33, 128, 34, 64, 52, 32, 226, 64, 34,
64, 34, 64, 34, 64, 100, 64, 11, 11, 22, 12, 0, 255, 65, 0, 65,
0, 79, 224, 233, 32, 73, 32, 73, 32, 111, 224, 201, 32, 73, 32, 73,
32, 207, 224, 11, 11, 22, 12, 0, 255, 33, 0, 241, 0, 79, 224, 169,
32, 249, 32, 47, 224, 57, 32, 233, 32, 41, 32, 47, 224, 40, 32, 11,
11, 22, 12, 0, 255, 143, 224, 73, 32, 9, 32, 203, 160, 73, 32, 79,
224, 72, 32, 75, 160, 74, 160, 107, 160, 80, 224, 11, 11, 22, 12, 0,
255, 127, 192, 4, 0, 68, 64, 36, 64, 36, 128, 4, 0, 255, 224, 4,
0, 4, 0, 4, 0, 4, 0, 11, 11, 22, 12, 0, 255, 130, 0, 66,
0, 31, 224, 194, 0, 95, 192, 82, 64, 95, 192, 71, 0, 74, 128, 82,
64, 191, 224, 11, 11, 22, 12, 0, 255, 4, 0, 127, 224, 72, 128, 127,
224, 72, 128, 79, 128, 64, 0, 95, 192, 72, 64, 71, 128, 152, 96, 11,
11, 22, 12, 0, 255, 1, 0, 239, 224, 161, 0, 164, 64, 175, 224, 164,
64, 175, 224, 169, 32, 233, 32, 2, 128, 12, 96, 11, 11, 22, 12, 0,
255, 20, 192, 246, 160, 188, 96, 167, 128, 168, 128, 191, 224, 169, 32, 239,
224, 9, 32, 15, 224, 9, 32, 11, 11, 22, 12, 0, 255, 127, 128, 64,
128, 66, 128, 98, 128, 84, 128, 72, 128, 72, 128, 84, 160, 98, 160, 64,
96, 128, 32, 11, 11, 22, 12, 0, 255, 4, 0, 127, 224, 64, 32, 127,
224, 64, 0, 125, 224, 84, 32, 76, 160, 84, 96, 100, 160, 141, 96, 11,
11, 22, 12, 0, 255, 130, 0, 95, 224, 4, 0, 8, 64, 159, 224, 64,
32, 10, 128, 10, 128, 74, 160, 146, 160, 34, 96, 11, 11, 22, 12, 0,
255, 65, 0, 79, 224, 232, 32, 66, 128, 68, 64, 104, 32, 199, 192, 65,
0, 65, 0, 65, 0, 207, 224, 11, 11, 22, 12, 0, 255, 80, 32, 125,
32, 145, 32, 255, 32, 17, 32, 125, 32, 85, 32, 85, 32, 84, 32, 92,
32, 16, 224, 11, 11, 22, 12, 0, 255, 63, 128, 32, 128, 63, 128, 32,
128, 255, 224, 72, 0, 123, 192, 73, 64, 121, 64, 72, 128, 251, 96, 11,
11, 22, 12, 0, 255, 4, 0, 4, 0, 4, 0, 36, 128, 36, 64, 68,
64, 68, 32, 132, 32, 4, 0, 4, 0, 28, 0, 11, 11, 22, 12, 0,
255, 4, 0, 4, 0, 4, 0, 255, 224, 4, 0, 10, 0, 10, 0, 17,
0, 17, 0, 32, 128, 192, 96, 9, 10, 20, 10, 0, 0, 136, 128, 73,
0, 8, 0, 255, 128, 0, 128, 0, 128, 127, 128, 0, 128, 0, 128, 255,
128, 11, 11, 22, 12, 0, 255, 33, 0, 18, 0, 255, 224, 0, 0, 120,
128, 74, 128, 122, 128, 74, 128, 122, 128, 72, 128, 89, 128, 11, 11, 22,
12, 0, 255, 39, 192, 0, 0, 0, 0, 239, 224, 33, 0, 34, 0, 36,
64, 47, 224, 32, 32, 80, 0, 143, 224, 11, 11, 22, 12, 0, 255, 32,
128, 39, 0, 249, 0, 33, 192, 119, 0, 33, 0, 249, 224, 39, 0, 113,
32, 169, 32, 32, 224, 11, 11, 22, 12, 0, 255, 16, 64, 16, 64, 253,
224, 16, 64, 56, 192, 53, 64, 82, 64, 148, 64, 16, 64, 16, 64, 16,
192, 11, 11, 22, 12, 0, 255, 0, 64, 248, 64, 11, 224, 8, 64, 136,
64, 82, 64, 81, 64, 33, 64, 80, 64, 72, 64, 137, 192, 10, 11, 22,
12, 0, 255, 132, 0, 132, 64, 132, 128, 245, 0, 134, 0, 132, 0, 132,
0, 148, 0, 164, 64, 196, 64, 131, 192, 11, 11, 22, 12, 0, 255, 17,
32, 125, 0, 17, 0, 255, 224, 41, 0, 253, 64, 73, 64, 124, 128, 8,
160, 253, 96, 10, 32, 11, 11, 22, 12, 0, 255, 23, 192, 36, 64, 36,
64, 103, 192, 161, 0, 47, 224, 33, 0, 35, 128, 37, 64, 41, 32, 33,
0, 11, 11, 22, 12, 0, 255, 8, 0, 255, 224, 16, 0, 39, 192, 32,
128, 97, 0, 175, 224, 33, 0, 33, 0, 33, 0, 35, 0, 11, 11, 22,
12, 0, 255, 36, 0, 47, 224, 180, 0, 164, 128, 164, 160, 170, 192, 42,
128, 40, 128, 41, 64, 50, 64, 36, 32, 11, 11, 22, 12, 0, 255, 127,
224, 128, 0, 63, 192, 32, 64, 63, 192, 16, 0, 31, 192, 16, 64, 40,
128, 71, 0, 56, 224, 11, 11, 22, 12, 0, 255, 127, 224, 64, 0, 64,
0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 128,
0, 11, 11, 22, 12, 0, 255, 255, 224, 4, 0, 127, 192, 68, 64, 127,
192, 68, 64, 127, 192, 68, 0, 36, 0, 24, 0, 231, 224, 11, 11, 22,
12, 0, 255, 17, 224, 253, 0, 69, 0, 41, 224, 253, 64, 17, 64, 125,
64, 17, 64, 85, 64, 146, 64, 52, 64, 11, 11, 22, 12, 0, 255, 33,
0, 95, 224, 64, 0, 207, 192, 64, 0, 79, 192, 64, 0, 79, 192, 72,
64, 79, 192, 72, 64, 11, 11, 22, 12, 0, 255, 4, 0, 127, 192, 64,
64, 127, 192, 64, 64, 127, 192, 64, 64, 127, 192, 4, 64, 82, 32, 191,
160, 11, 11, 22, 12, 0, 255, 127, 192, 68, 64, 127, 192, 68, 64, 127,
192, 4, 0, 27, 0, 224, 224, 17, 0, 17, 0, 97, 0, 11, 11, 22,
12, 0, 255, 255, 224, 4, 0, 8, 0, 127, 224, 73, 32, 79, 32, 73,
32, 79, 32, 73, 32, 73, 32, 127, 224, 11, 11, 22, 12, 0, 255, 253,
224, 86, 64, 121, 64, 56, 128, 85, 64, 146, 32, 255, 224, 4, 0, 39,
192, 36, 0, 255, 224, 11, 11, 22, 12, 0, 255, 251, 128, 82, 0, 123,
224, 18, 64, 250, 64, 20, 64, 63, 128, 32, 128, 63, 128, 32, 128, 63,
128, 11, 11, 22, 12, 0, 255, 31, 224, 32, 0, 39, 192, 100, 64, 167,
192, 32, 0, 47, 224, 40, 32, 39, 192, 33, 0, 35, 0, 11, 11, 22,
12, 0, 255, 243, 224, 130, 32, 130, 32, 250, 32, 130, 32, 130, 32, 138,
32, 178, 32, 194, 224, 2, 0, 2, 0, 11, 11, 22, 12, 0, 255, 36,
128, 70, 160, 149, 192, 228, 128, 39, 224, 68, 128, 245, 192, 6, 160, 52,
128, 196, 128, 7, 224, 11, 11, 22, 12, 0, 255, 39, 192, 65, 0, 135,
224, 224, 32, 34, 128, 69, 128, 242, 128, 15, 224, 48, 128, 193, 64, 2,
32, 11, 11, 22, 12, 0, 255, 2, 0, 2, 0, 34, 0, 35, 192, 34,
0, 34, 0, 34, 0, 34, 0, 34, 0, 34, 0, 255, 224, 9, 11, 22,
12, 0, 255, 8, 0, 8, 0, 255, 128, 136, 128, 136, 128, 136, 128, 255,
128, 136, 128, 136, 128, 136, 128, 255, 128, 11, 11, 22, 12, 0, 255, 33,
0, 83, 160, 65, 0, 247, 224, 81, 0, 83, 192, 86, 64, 83, 192, 90,
64, 83, 192, 66, 64, 11, 11, 22, 12, 0, 255, 127, 192, 4, 0, 4,
0, 4, 0, 255, 224, 10, 0, 10, 0, 18, 0, 34, 32, 66, 32, 129,
224, 11, 11, 22, 12, 0, 255, 17, 0, 33, 0, 47, 224, 97, 0, 163,
128, 35, 128, 37, 64, 37, 64, 41, 32, 33, 0, 33, 0, 11, 11, 22,
12, 0, 255, 247, 224, 148, 32, 244, 32, 151, 224, 148, 128, 244, 128, 151,
224, 148, 128, 244, 160, 150, 96, 4, 32, 11, 11, 22, 12, 0, 255, 123,
224, 148, 128, 4, 0, 127, 192, 4, 0, 255, 224, 1, 0, 255, 224, 33,
0, 17, 0, 7, 0, 11, 11, 22, 12, 0, 255, 33, 0, 71, 192, 145,
0, 47, 224, 96, 128, 175, 224, 32, 128, 36, 128, 34, 128, 32, 128, 35,
128, 11, 11, 22, 12, 0, 255, 39, 192, 36, 64, 247, 192, 46, 224, 42,
160, 62, 224, 225, 0, 47, 224, 35, 128, 37, 64, 105, 32, 11, 11, 22,
12, 0, 255, 20, 0, 39, 224, 42, 0, 98, 0, 163, 192, 34, 0, 34,
0, 35, 224, 34, 0, 34, 0, 34, 0
};

View file

@ -1,192 +0,0 @@
/*
Fontname: ISO10646_CZ
Copyright: A. Hardtung, public domain
Modified for Czech accents by Petr Zahradnik, http://www.zahradniksebavi.cz
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 6 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_CZ[2832] U8G_SECTION(".progmem.ISO10646_CZ") = {
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,
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,5,8,8,6,0,
0,16,32,112,136,136,248,136,136,5,8,8,6,0,0,8,
16,248,128,128,240,128,248,3,8,8,6,1,0,32,64,224,
64,64,64,64,224,5,8,8,6,0,0,16,32,112,136,136,
136,136,112,5,8,8,6,0,0,16,32,136,136,136,136,136,
112,5,8,8,6,0,0,16,32,136,136,80,32,32,32,5,
8,8,6,0,0,16,32,0,112,8,120,136,120,5,8,8,
6,0,0,16,32,0,112,136,248,128,112,2,8,8,6,2,
0,64,128,0,128,128,128,128,128,5,8,8,6,0,0,16,
32,0,112,136,136,136,112,5,8,8,6,0,0,16,32,0,
136,136,136,152,104,5,9,9,6,0,255,16,32,0,136,136,
136,120,8,112,5,8,8,6,0,0,80,32,112,136,128,128,
136,112,5,8,8,6,0,0,80,32,0,112,128,128,136,112,
5,8,8,6,0,0,80,32,240,136,136,136,136,240,6,8,
8,6,0,0,4,20,24,112,144,144,144,112,5,8,8,6,
0,0,80,32,248,128,128,240,128,248,5,8,8,6,0,0,
80,32,0,112,136,248,128,112,5,8,8,6,0,0,80,32,
136,200,168,152,136,136,5,8,8,6,0,0,80,32,0,176,
200,136,136,136,5,8,8,6,0,0,80,32,240,136,240,160,
144,136,5,8,8,6,0,0,80,32,0,176,200,128,128,128,
5,8,8,6,0,0,80,32,120,128,128,112,8,240,5,8,
8,6,0,0,80,32,0,112,128,112,8,240,5,8,8,6,
0,0,80,32,248,32,32,32,32,32,6,8,8,6,0,0,
4,68,72,224,64,64,64,48,5,8,8,6,0,0,32,80,
168,136,136,136,136,112,5,8,8,6,0,0,32,80,32,136,
136,136,152,104,5,8,8,6,0,0,80,32,248,8,48,64,
128,248,5,8,8,6,0,0,80,32,0,248,16,32,64,248,
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
0,0,1,7,7,6,2,0,128,0,128,128,128,128,128,5,
7,7,6,0,0,32,112,168,160,168,112,32,5,7,7,6,
0,0,48,64,64,224,64,80,168,5,5,5,6,0,0,136,
112,80,112,136,5,7,7,6,0,0,136,80,32,248,32,248,
32,1,7,7,6,2,0,128,128,128,0,128,128,128,5,8,
8,6,0,0,48,72,32,80,80,32,144,96,3,1,1,6,
1,7,160,5,7,7,6,0,0,248,136,184,184,184,136,248,
5,7,7,6,0,1,112,8,120,136,120,0,248,5,5,5,
6,0,1,40,80,160,80,40,5,3,3,6,0,1,248,8,
8,2,2,2,6,2,6,64,128,5,7,7,6,0,0,248,
136,168,136,152,168,248,5,1,1,6,0,6,248,4,4,4,
6,0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,
32,32,0,248,4,5,5,6,0,3,96,144,32,64,240,3,
5,5,6,0,3,224,32,224,32,224,2,2,2,6,2,6,
64,128,5,8,8,6,0,255,136,136,136,136,152,232,128,128,
5,7,7,6,0,0,120,152,152,120,24,24,24,2,2,2,
6,2,2,192,192,2,2,2,6,2,255,64,128,3,5,5,
6,0,3,64,192,64,64,224,5,7,7,6,0,1,112,136,
136,136,112,0,248,5,5,5,6,0,1,160,80,40,80,160,
5,7,7,6,0,0,136,144,168,88,184,8,8,5,7,7,
6,0,0,136,144,184,72,152,32,56,5,8,8,6,0,0,
192,64,192,72,216,56,8,8,5,7,7,6,0,0,32,0,
32,64,128,136,112,5,8,8,6,0,0,64,32,0,112,136,
248,136,136,5,8,8,6,0,0,16,32,0,112,136,248,136,
136,5,8,8,6,0,0,32,80,0,112,136,248,136,136,5,
8,8,6,0,0,104,144,0,112,136,248,136,136,5,8,8,
6,0,0,80,0,112,136,136,248,136,136,5,8,8,6,0,
0,32,80,32,112,136,248,136,136,5,7,7,6,0,0,56,
96,160,184,224,160,184,5,8,8,6,0,255,112,136,128,128,
136,112,32,96,5,8,8,6,0,0,64,32,0,248,128,240,
128,248,5,8,8,6,0,0,8,16,0,248,128,240,128,248,
5,8,8,6,0,0,32,80,0,248,128,240,128,248,5,7,
7,6,0,0,80,0,248,128,240,128,248,3,8,8,6,1,
0,128,64,0,224,64,64,64,224,3,8,8,6,1,0,32,
64,0,224,64,64,64,224,3,8,8,6,1,0,64,160,0,
224,64,64,64,224,3,7,7,6,1,0,160,0,224,64,64,
64,224,5,9,9,6,0,255,80,32,112,136,128,184,136,136,
112,5,8,8,6,0,0,104,144,0,136,200,168,152,136,5,
8,8,6,0,0,64,32,112,136,136,136,136,112,5,8,8,
6,0,0,16,32,112,136,136,136,136,112,5,8,8,6,0,
0,32,80,0,112,136,136,136,112,5,8,8,6,0,0,104,
144,0,112,136,136,136,112,5,8,8,6,0,0,80,0,112,
136,136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,
5,8,8,6,0,255,16,112,168,168,168,168,112,64,5,8,
8,6,0,0,64,32,136,136,136,136,136,112,5,8,8,6,
0,0,16,32,136,136,136,136,136,112,5,8,8,6,0,0,
32,80,0,136,136,136,136,112,5,8,8,6,0,0,80,0,
136,136,136,136,136,112,1,7,7,6,2,0,128,0,128,128,
128,128,128,5,9,9,6,0,255,120,128,128,112,8,8,240,
32,96,4,8,8,6,1,255,96,144,144,160,144,144,224,128,
5,8,8,6,0,0,64,32,0,112,8,120,136,120,5,8,
8,6,0,0,16,32,0,112,8,120,136,120,5,8,8,6,
0,0,32,80,0,112,8,120,136,120,5,8,8,6,0,0,
104,144,0,112,8,120,136,120,5,7,7,6,0,0,80,0,
112,8,120,136,120,5,8,8,6,0,0,32,80,32,112,8,
120,136,120,5,6,6,6,0,0,208,40,120,160,168,80,5,
7,7,6,0,255,112,128,128,136,112,32,96,5,8,8,6,
0,0,64,32,0,112,136,248,128,112,5,8,8,6,0,0,
16,32,0,112,136,248,128,112,5,8,8,6,0,0,32,80,
0,112,136,248,128,112,5,7,7,6,0,0,80,0,112,136,
248,128,112,3,8,8,6,1,0,128,64,0,64,192,64,64,
224,3,8,8,6,1,0,32,64,0,64,192,64,64,224,3,
8,8,6,1,0,64,160,0,64,192,64,64,224,3,7,7,
6,1,0,160,0,64,192,64,64,224,5,8,8,6,0,255,
80,32,112,136,136,120,8,112,5,8,8,6,0,0,104,144,
0,176,200,136,136,136,5,8,8,6,0,0,64,32,0,112,
136,136,136,112,5,8,8,6,0,0,16,32,0,112,136,136,
136,112,5,8,8,6,0,0,32,80,0,112,136,136,136,112,
5,8,8,6,0,0,104,144,0,112,136,136,136,112,5,7,
7,6,0,0,80,0,112,136,136,136,112,5,5,5,6,0,
1,32,0,248,0,32,5,7,7,6,0,255,16,112,168,168,
168,112,64,5,8,8,6,0,0,64,32,0,136,136,136,152,
104,5,8,8,6,0,0,16,32,0,136,136,136,152,104,5,
8,8,6,0,0,32,80,0,136,136,136,152,104,5,7,7,
6,0,0,80,0,136,136,136,152,104,1,5,5,6,2,0,
128,128,128,128,128,5,7,7,6,0,255,112,128,112,8,240,
32,96,5,8,8,6,0,255,80,0,136,136,136,120,8,112
};

View file

@ -1,205 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/*
Fontname: ISO10646_4_Greek
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_Greek_5x7[2715] U8G_SECTION(".progmem.ISO10646_Greek_5x7") = {
0,6,9,0,254,7,1,145,3,32,32,255,255,8,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,152,168,200,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,
48,64,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,16,96,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,6,6,6,0,0,112,136,8,104,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,224,144,
136,136,136,144,224,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,5,7,7,6,0,0,64,64,224,64,64,
72,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,3,104,144,0,0,0,6,0,0,0,0,0,6,0,0,
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
0,0,2,2,2,6,1,6,64,128,3,3,3,6,1,5,
32,64,160,5,8,8,6,0,0,64,160,80,80,136,248,136,
136,2,2,2,6,1,2,192,192,5,8,8,6,0,0,64,
128,248,128,240,128,128,248,5,8,8,6,0,0,64,128,136,
136,248,136,136,136,4,8,8,6,0,0,64,128,112,32,32,
32,32,112,0,0,0,6,0,0,5,8,8,6,0,0,64,
128,112,136,136,136,136,112,0,0,0,6,0,0,5,8,8,
6,0,0,64,128,8,136,112,32,32,32,5,8,8,6,0,
0,64,128,112,136,136,136,80,216,3,8,8,6,1,0,32,
64,160,0,64,64,64,32,5,7,7,6,0,0,32,80,136,
136,248,136,136,5,7,7,6,0,0,240,72,72,112,72,72,
240,5,7,7,6,0,0,248,128,128,128,128,128,128,5,6,
6,6,0,0,32,80,80,136,136,248,5,7,7,6,0,0,
248,128,128,240,128,128,248,5,7,7,6,0,0,248,8,16,
32,64,128,248,5,7,7,6,0,0,136,136,136,248,136,136,
136,5,7,7,6,0,0,112,136,136,168,136,136,112,3,7,
7,6,1,0,224,64,64,64,64,64,224,5,7,7,6,0,
0,136,144,160,192,160,144,136,5,7,7,6,0,0,32,80,
136,136,136,136,136,5,7,7,6,0,0,136,216,168,168,136,
136,136,5,7,7,6,0,0,136,200,200,168,152,152,136,5,
7,7,6,0,0,248,0,0,112,0,0,248,5,7,7,6,
0,0,112,136,136,136,136,136,112,5,7,7,6,0,0,248,
80,80,80,80,80,80,5,7,7,6,0,0,240,136,136,240,
128,128,128,0,0,0,6,0,0,5,7,7,6,0,0,248,
128,64,32,64,128,248,5,7,7,6,0,0,248,32,32,32,
32,32,32,5,7,7,6,0,0,136,136,80,32,32,32,32,
5,7,7,6,0,0,112,32,112,168,112,32,112,5,7,7,
6,0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,
168,168,168,168,112,32,32,5,6,6,6,0,0,112,136,136,
80,80,216,3,8,8,6,1,0,160,0,224,64,64,64,64,
224,5,8,8,6,0,0,80,0,136,136,136,80,32,32,5,
8,8,6,0,0,32,64,8,104,152,144,144,104,5,8,8,
6,0,0,32,64,0,112,136,224,136,112,5,9,9,6,0,
255,32,64,0,112,136,136,136,136,8,2,8,8,6,1,0,
64,128,0,128,128,128,128,64,5,8,8,6,0,0,16,32,
80,0,136,136,136,112,5,6,6,6,0,0,8,104,152,144,
144,104,4,6,6,6,0,255,96,144,240,144,224,128,5,6,
6,6,0,255,136,72,80,32,32,64,5,6,6,6,0,0,
48,64,112,136,136,112,5,5,5,6,0,0,112,136,224,136,
112,5,8,8,6,0,255,128,112,64,128,128,112,8,112,5,
6,6,6,0,255,184,200,136,136,136,8,5,5,5,6,0,
0,112,136,248,136,112,3,5,5,6,1,0,128,128,128,128,
96,4,5,5,6,0,0,144,160,192,160,144,5,6,6,6,
0,0,64,32,32,80,80,136,5,6,6,6,0,255,136,136,
136,216,168,128,5,5,5,6,0,0,136,136,80,96,32,5,
9,9,6,0,255,128,224,128,112,32,64,240,8,112,5,5,
5,6,0,0,112,136,136,136,112,5,5,5,6,0,0,248,
80,80,80,80,5,6,6,6,0,255,112,136,136,200,176,128,
5,7,7,6,0,255,48,64,128,64,48,8,112,5,5,5,
6,0,0,104,144,144,144,96,4,5,5,6,0,0,240,64,
64,64,48,5,5,5,6,0,0,136,136,144,144,224,5,7,
7,6,0,255,32,168,168,168,112,32,32,5,6,6,6,0,
255,136,80,32,32,80,136,5,6,6,6,0,255,168,168,168,
168,112,32,5,5,5,6,0,0,80,136,136,168,112,4,7,
7,6,0,0,160,0,64,64,64,64,48,5,7,7,6,0,
0,80,0,136,136,144,144,224,4,8,8,6,0,0,32,64,
0,96,144,144,144,96,5,8,8,6,0,0,32,64,0,136,
136,144,144,96,5,8,8,6,0,0,32,64,0,80,136,136,
168,112,5,7,7,6,0,255,144,160,192,160,144,136,16,5,
8,8,6,0,0,96,144,160,128,240,136,136,112,5,7,7,
6,0,0,112,80,56,144,144,144,96,5,6,6,6,0,0,
152,80,32,32,32,32,5,8,8,6,0,0,64,128,152,80,
32,32,32,32,5,8,8,6,0,0,80,0,152,80,32,32,
32,32,5,7,7,6,0,255,48,168,168,168,168,112,32,5,
5,5,6,0,0,248,80,80,80,88,5,6,6,6,0,255,
136,80,112,80,136,16,5,7,7,6,0,255,112,136,136,136,
112,32,112,5,6,6,6,0,255,112,136,136,112,32,112,5,
6,6,6,0,0,112,136,128,112,32,112,5,7,7,6,0,
255,8,8,112,128,112,16,96,5,6,6,6,0,0,248,128,
128,240,128,128,4,5,5,6,0,0,240,128,224,128,128,5,
6,6,6,0,0,248,0,0,112,0,248,4,5,5,6,0,
0,64,128,240,16,32,5,7,7,6,0,0,224,80,40,40,
8,8,16,5,7,7,6,0,0,192,32,80,40,8,8,8,
5,7,7,6,0,255,168,168,168,168,88,8,112,5,6,6,
6,0,255,168,168,168,88,8,112,5,6,6,6,0,0,104,
136,136,120,8,8,5,6,6,6,0,255,104,136,136,120,8,
8,4,8,8,6,0,255,128,224,144,144,144,144,32,192,5,
5,5,6,0,0,104,144,112,16,224,5,6,6,6,0,0,
96,144,16,96,136,112,4,6,6,6,0,0,96,144,16,96,
128,112,5,6,6,6,0,0,136,80,32,80,136,248,5,5,
5,6,0,0,136,80,32,80,112,5,6,6,6,0,0,120,
128,240,136,136,112,4,5,5,6,0,0,240,128,224,144,96,
3,6,6,6,1,0,64,224,64,64,64,64,3,6,6,6,
1,255,64,224,64,64,64,128,5,5,5,6,0,0,136,80,
112,80,136,5,6,6,6,0,255,112,136,136,240,128,112,4,
5,5,6,0,0,112,128,128,128,112,2,8,8,6,1,255,
64,0,192,64,64,64,64,128,5,7,7,6,0,0,112,136,
136,248,136,136,112,4,5,5,6,0,0,112,128,224,128,112,
4,5,5,6,0,0,224,16,112,16,224,5,7,7,6,0,
0,128,240,136,136,136,240,128,4,7,7,6,0,255,128,224,
144,144,144,224,128,5,6,6,6,0,0,112,136,128,128,136,
112,5,6,6,6,0,0,136,216,168,136,136,136,5,6,6,
6,0,255,136,216,168,136,136,128,5,8,8,6,0,255,112,
136,136,136,112,64,224,64,5,6,6,6,0,0,112,136,8,
8,136,112,5,6,6,6,0,0,112,136,160,128,136,112,5,
6,6,6,0,0,112,136,40,8,136,112};

View file

@ -1,192 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: ISO10646_Kana
Copyright: A. Hardtung, public domain
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 5 h= 8 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 8
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_Kana_5x7[2482] U8G_SECTION(".progmem.ISO10646_Kana_5x7") = {
0, 6, 9, 0, 254, 7, 1, 145, 3, 32, 32, 255, 255, 8, 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, 152, 168, 200, 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,
48, 64, 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, 16, 96, 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, 6, 6, 6, 0, 0, 112, 136, 8, 104, 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, 224, 144,
136, 136, 136, 144, 224, 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, 5, 7, 7, 6, 0, 0, 64, 64, 224, 64, 64,
72, 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, 3, 104, 144, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 5, 3, 3, 6, 0, 1,
248, 0, 248, 4, 4, 4, 6, 0, 0, 240, 16, 96, 64, 5, 6, 6,
6, 0, 0, 248, 8, 40, 48, 32, 64, 3, 4, 4, 6, 1, 0, 32,
64, 192, 64, 4, 6, 6, 6, 0, 0, 16, 32, 96, 160, 32, 32, 4,
4, 4, 6, 0, 0, 32, 240, 144, 32, 5, 6, 6, 6, 0, 0, 32,
248, 136, 8, 16, 32, 3, 4, 4, 6, 1, 0, 224, 64, 64, 224, 5,
5, 5, 6, 0, 0, 248, 32, 32, 32, 248, 4, 4, 4, 6, 0, 0,
32, 240, 96, 160, 5, 6, 6, 6, 0, 0, 16, 248, 48, 80, 144, 16,
5, 6, 6, 6, 0, 0, 64, 248, 72, 72, 72, 144, 5, 8, 8, 6,
0, 0, 40, 0, 64, 248, 72, 72, 72, 144, 5, 6, 6, 6, 0, 0,
32, 248, 32, 248, 32, 32, 5, 8, 8, 6, 0, 0, 40, 0, 32, 248,
32, 248, 32, 32, 4, 5, 5, 6, 0, 0, 112, 144, 16, 32, 192, 5,
7, 7, 6, 0, 0, 40, 0, 112, 144, 16, 32, 192, 5, 6, 6, 6,
0, 0, 64, 120, 144, 16, 16, 32, 5, 8, 8, 6, 0, 0, 40, 0,
64, 120, 144, 16, 16, 32, 5, 5, 5, 6, 0, 0, 248, 8, 8, 8,
248, 5, 7, 7, 6, 0, 0, 40, 0, 248, 8, 8, 8, 248, 5, 6,
6, 6, 0, 0, 80, 248, 80, 16, 32, 64, 5, 8, 8, 6, 0, 0,
40, 0, 80, 248, 80, 16, 32, 64, 5, 5, 5, 6, 0, 0, 192, 8,
200, 16, 224, 5, 7, 7, 6, 0, 0, 40, 0, 192, 8, 200, 16, 224,
5, 5, 5, 6, 0, 0, 248, 16, 32, 80, 136, 5, 7, 7, 6, 0,
0, 40, 0, 248, 16, 32, 80, 136, 5, 6, 6, 6, 0, 0, 64, 248,
72, 80, 64, 56, 5, 8, 8, 6, 0, 0, 40, 0, 64, 248, 72, 80,
64, 56, 5, 5, 5, 6, 0, 0, 136, 136, 72, 16, 96, 5, 7, 7,
6, 0, 0, 40, 0, 136, 136, 72, 16, 96, 5, 5, 5, 6, 0, 0,
120, 72, 168, 16, 96, 5, 7, 7, 6, 0, 0, 40, 0, 120, 72, 168,
16, 96, 5, 6, 6, 6, 0, 0, 16, 224, 32, 248, 32, 64, 5, 8,
8, 6, 0, 0, 40, 0, 16, 224, 32, 248, 32, 64, 5, 4, 4, 6,
0, 0, 168, 168, 8, 48, 5, 5, 5, 6, 0, 0, 168, 168, 8, 16,
32, 5, 7, 7, 6, 0, 0, 40, 0, 168, 168, 8, 16, 32, 5, 6,
6, 6, 0, 0, 112, 0, 248, 32, 32, 64, 5, 8, 8, 6, 0, 0,
40, 0, 112, 0, 248, 32, 32, 64, 3, 6, 6, 6, 1, 0, 128, 128,
192, 160, 128, 128, 4, 8, 8, 6, 1, 0, 80, 0, 128, 128, 192, 160,
128, 128, 5, 6, 6, 6, 0, 0, 32, 248, 32, 32, 64, 128, 5, 5,
5, 6, 0, 0, 112, 0, 0, 0, 248, 5, 5, 5, 6, 0, 0, 248,
8, 80, 32, 208, 5, 6, 6, 6, 0, 0, 32, 248, 16, 32, 112, 168,
3, 6, 6, 6, 1, 0, 32, 32, 32, 32, 64, 128, 5, 5, 5, 6,
0, 0, 16, 136, 136, 136, 136, 5, 7, 7, 6, 0, 0, 40, 0, 16,
136, 136, 136, 136, 5, 8, 8, 6, 0, 0, 24, 24, 0, 16, 136, 136,
136, 136, 5, 6, 6, 6, 0, 0, 128, 128, 248, 128, 128, 120, 5, 7,
7, 6, 0, 0, 40, 128, 128, 248, 128, 128, 120, 5, 7, 7, 6, 0,
0, 24, 152, 128, 248, 128, 128, 120, 5, 5, 5, 6, 0, 0, 248, 8,
8, 16, 96, 5, 7, 7, 6, 0, 0, 40, 0, 248, 8, 8, 16, 96,
5, 8, 8, 6, 0, 0, 24, 24, 0, 248, 8, 8, 16, 96, 5, 4,
4, 6, 0, 1, 64, 160, 16, 8, 5, 6, 6, 6, 0, 1, 40, 0,
64, 160, 16, 8, 5, 6, 6, 6, 0, 1, 24, 24, 64, 160, 16, 8,
5, 6, 6, 6, 0, 0, 32, 248, 32, 168, 168, 32, 5, 8, 8, 6,
0, 0, 40, 0, 32, 248, 32, 168, 168, 32, 5, 8, 8, 6, 0, 0,
24, 24, 32, 248, 32, 168, 168, 32, 5, 5, 5, 6, 0, 0, 248, 8,
80, 32, 16, 4, 5, 5, 6, 1, 0, 224, 0, 224, 0, 240, 5, 5,
5, 6, 0, 0, 32, 64, 136, 248, 8, 5, 5, 5, 6, 0, 0, 8,
40, 16, 40, 192, 5, 5, 5, 6, 0, 0, 248, 64, 248, 64, 56, 5,
4, 4, 6, 0, 0, 64, 248, 80, 64, 5, 6, 6, 6, 0, 0, 64,
248, 72, 80, 64, 64, 4, 4, 4, 6, 0, 0, 96, 32, 32, 240, 5,
5, 5, 6, 0, 0, 112, 16, 16, 16, 248, 4, 5, 5, 6, 0, 0,
240, 16, 240, 16, 240, 5, 5, 5, 6, 0, 0, 248, 8, 248, 8, 248,
5, 6, 6, 6, 0, 0, 112, 0, 248, 8, 16, 32, 4, 6, 6, 6,
0, 0, 144, 144, 144, 144, 16, 32, 5, 5, 5, 6, 0, 0, 32, 160,
168, 168, 176, 4, 5, 5, 6, 0, 0, 128, 128, 144, 160, 192, 5, 5,
5, 6, 0, 0, 248, 136, 136, 136, 248, 4, 4, 4, 6, 0, 0, 240,
144, 16, 32, 5, 5, 5, 6, 0, 0, 248, 136, 8, 16, 32, 5, 6,
6, 6, 0, 0, 16, 248, 80, 80, 248, 16, 5, 5, 5, 6, 0, 0,
248, 8, 48, 32, 248, 5, 5, 5, 6, 0, 0, 248, 8, 248, 8, 48,
5, 5, 5, 6, 0, 0, 192, 8, 8, 16, 224, 5, 8, 8, 6, 0,
0, 40, 0, 32, 248, 136, 8, 16, 32, 4, 4, 4, 6, 0, 0, 64,
240, 80, 160, 4, 4, 4, 6, 0, 0, 64, 240, 32, 64, 5, 7, 7,
6, 0, 0, 40, 0, 248, 136, 8, 16, 96, 5, 8, 8, 6, 0, 0,
40, 0, 16, 248, 80, 80, 248, 16, 5, 7, 7, 6, 0, 0, 40, 0,
248, 8, 48, 32, 248, 5, 7, 7, 6, 0, 0, 40, 0, 248, 8, 248,
8, 48, 2, 2, 2, 6, 2, 2, 192, 192, 5, 1, 1, 6, 0, 2,
248, 5, 4, 4, 6, 0, 1, 128, 96, 16, 8, 5, 5, 5, 6, 0,
1, 40, 128, 96, 16, 8, 5, 6, 6, 6, 0, 0, 248, 8, 8, 8,
8, 8
};

View file

@ -1,151 +0,0 @@
/*
Fontname: ISO10646_SK
Copyright: A. Hardtung, modified by Roman Moravcik
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 6 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 9
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
Pure Font ascent = 7 descent=-1
X Font ascent = 7 descent=-1
Max Font ascent = 8 descent=-1
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t ISO10646_SK[2203] U8G_SECTION(".progmem.ISO10646_SK") = {
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,
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,5,8,8,6,0,
0,16,32,112,136,136,248,136,136,5,8,8,6,0,0,80,
0,112,136,136,248,136,136,5,8,8,6,0,0,8,16,248,
128,128,240,128,248,3,8,8,6,1,0,32,64,224,64,64,
64,64,224,5,8,8,6,0,0,16,32,112,136,136,136,136,
112,5,8,8,6,0,0,32,80,112,136,136,136,136,112,5,
8,8,6,0,0,16,32,136,136,136,136,136,112,5,8,8,
6,0,0,16,32,136,136,80,32,32,32,5,8,8,6,0,
0,16,32,0,112,8,120,136,120,5,7,7,6,0,0,80,
0,112,8,120,136,120,5,8,8,6,0,0,16,32,0,112,
136,248,128,112,2,8,8,6,2,0,64,128,0,128,128,128,
128,128,5,8,8,6,0,0,16,32,0,112,136,136,136,112,
5,8,8,6,0,0,32,80,0,112,136,136,136,112,5,8,
8,6,0,0,16,32,0,136,136,136,152,104,5,9,9,6,
0,255,16,32,0,136,136,136,120,8,112,5,8,8,6,0,
0,80,32,112,136,128,128,136,112,5,8,8,6,0,0,80,
32,0,112,128,128,136,112,5,8,8,6,0,0,80,32,240,
136,136,136,136,240,6,8,8,6,0,0,4,20,24,112,144,
144,144,112,5,8,8,6,0,0,16,32,128,128,128,128,128,
248,3,8,8,6,1,0,32,64,0,192,64,64,64,224,5,
8,8,6,0,0,16,144,160,128,128,128,128,248,5,8,8,
6,1,0,8,200,80,64,64,64,64,224,5,8,8,6,0,
0,80,32,136,200,168,152,136,136,5,8,8,6,0,0,80,
32,0,176,200,136,136,136,5,8,8,6,0,0,16,32,240,
136,240,160,144,136,5,8,8,6,0,0,16,32,0,176,200,
128,128,128,5,8,8,6,0,0,80,32,120,128,128,112,8,
240,5,8,8,6,0,0,80,32,0,112,128,112,8,240,5,
8,8,6,0,0,80,32,248,32,32,32,32,32,6,8,8,
6,0,0,4,68,72,224,64,64,64,48,5,8,8,6,0,
0,80,32,248,8,48,64,128,248,5,8,8,6,0,0,80,
32,0,248,16,32,64,248,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
0,0,6,0,0,0,0,0,6,0,0};

View file

@ -1,45 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
Fontname: Marlin_symbols
Copyright: Created with Fony 1.4.7
Capital A Height: 0, '1' Height: 0
Calculated Max Values w= 5 h=10 x= 0 y= 3 dx= 6 dy= 0 ascent= 8 len=10
Font Bounding box w= 6 h= 9 x= 0 y=-2
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
Pure Font ascent = 0 descent= 0
X Font ascent = 0 descent= 0
Max Font ascent = 8 descent=-2
*/
#include <U8glib.h>
const u8g_fntpgm_uint8_t Marlin_symbols[140] U8G_SECTION(".progmem.Marlin_symbols") = {
0, 6, 9, 0, 254, 0, 0, 0, 0, 0, 1, 9, 0, 8, 254, 0,
0, 5, 8, 8, 6, 0, 0, 64, 240, 200, 136, 136, 152, 120, 16, 5,
8, 8, 6, 0, 0, 192, 248, 136, 136, 136, 136, 136, 248, 5, 5, 5,
6, 0, 1, 32, 48, 248, 48, 32, 5, 8, 8, 6, 0, 0, 32, 112,
248, 32, 32, 32, 32, 224, 5, 9, 9, 6, 0, 255, 32, 112, 168, 168,
184, 136, 136, 112, 32, 5, 9, 9, 6, 0, 255, 224, 128, 192, 176, 168,
40, 48, 40, 40, 5, 9, 9, 6, 0, 255, 248, 168, 136, 136, 136, 136,
136, 168, 248, 5, 10, 10, 6, 0, 254, 32, 80, 80, 80, 80, 136, 168,
168, 136, 112, 3, 3, 3, 6, 0, 3, 64, 160, 64
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,75 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_8_144_149[96] U8G_FONT_SECTION("fontpage_8_144_149") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x95,0x00,0x07,0xff,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,
0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,
0x88,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8
};
const u8g_fntpgm_uint8_t fontpage_8_151_152[43] U8G_FONT_SECTION("fontpage_8_151_152") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x98,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88};
const u8g_fntpgm_uint8_t fontpage_8_154_164[160] U8G_FONT_SECTION("fontpage_8_154_164") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa4,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00,
0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,
0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,
0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,
0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,
0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,
0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x50,
0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20
};
const u8g_fntpgm_uint8_t fontpage_8_166_166[31] U8G_FONT_SECTION("fontpage_8_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xff,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08};
const u8g_fntpgm_uint8_t fontpage_8_175_195[257] U8G_FONT_SECTION("fontpage_8_175_195") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc3,0x00,0x07,0xff,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x18,
0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90,
0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06,
0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,
0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05,
0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88,
0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8,
0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8,
0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05,
0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,
0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05,
0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,
0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,
0x70};
const u8g_fntpgm_uint8_t fontpage_8_197_200[62] U8G_FONT_SECTION("fontpage_8_197_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc8,0x00,0x05,0xff,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,
0x00,0xff,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,
0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8};
const u8g_fntpgm_uint8_t fontpage_8_202_202[28] U8G_FONT_SECTION("fontpage_8_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70};
const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,0x06,
0x00,0x00,0x78,0x88,0x78,0x28,0x48};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(8, 144, 149, fontpage_8_144_149), // 'А' -- 'Е'
FONTDATA_ITEM(8, 151, 152, fontpage_8_151_152), // 'З' -- 'И'
FONTDATA_ITEM(8, 154, 164, fontpage_8_154_164), // 'К' -- 'Ф'
FONTDATA_ITEM(8, 166, 166, fontpage_8_166_166), // 'Ц' -- 'Ц'
FONTDATA_ITEM(8, 175, 195, fontpage_8_175_195), // 'Я' -- 'у'
FONTDATA_ITEM(8, 197, 200, fontpage_8_197_200), // 'х' -- 'ш'
FONTDATA_ITEM(8, 202, 202, fontpage_8_202_202), // 'ъ' -- 'ъ'
FONTDATA_ITEM(8, 206, 207, fontpage_8_206_207), // 'ю' -- 'я'
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,57 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_2_140_141[49] U8G_FONT_SECTION("fontpage_2_140_141") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0b,0x00,0x00,
0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80,
0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80,
0x70};
const u8g_fntpgm_uint8_t fontpage_2_143_143[31] U8G_FONT_SECTION("fontpage_2_143_143") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x08,0x00,0x00,
0x00,0x08,0x08,0x08,0x09,0x00,0x00,0x09,0x0a,0x78,0x88,0x88,0x88,0x88,0x78};
const u8g_fntpgm_uint8_t fontpage_2_155_155[32] U8G_FONT_SECTION("fontpage_2_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0xf8,0x80,0x80,0x78
};
const u8g_fntpgm_uint8_t fontpage_2_200_200[32] U8G_FONT_SECTION("fontpage_2_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88
};
const u8g_fntpgm_uint8_t fontpage_2_216_217[49] U8G_FONT_SECTION("fontpage_2_216_217") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd9,0x00,0x0b,0x00,0x00,
0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0xf0,0x90,
0x88,0x84,0x03,0x09,0x09,0x04,0x00,0x00,0xa0,0x40,0x00,0xe0,0x80,0x80,0x80,0x80,
0x80};
const u8g_fntpgm_uint8_t fontpage_2_225_225[32] U8G_FONT_SECTION("fontpage_2_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88,0x70
};
const u8g_fntpgm_uint8_t fontpage_2_229_229[32] U8G_FONT_SECTION("fontpage_2_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x08,0x50,0x40,0xf0,0x40,0x40,0x40,0x40,0x30
};
const u8g_fntpgm_uint8_t fontpage_2_239_239[32] U8G_FONT_SECTION("fontpage_2_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x88,0x78
};
const u8g_fntpgm_uint8_t fontpage_2_253_254[49] U8G_FONT_SECTION("fontpage_2_253_254") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0b,0x00,0x00,
0x00,0x07,0x0b,0x0b,0x08,0x00,0x00,0x24,0x18,0x00,0xfe,0x04,0x08,0x10,0x20,0x40,
0x80,0xfe,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,
0xf8};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(2, 140, 141, fontpage_2_140_141), // 'Č' -- 'č'
FONTDATA_ITEM(2, 143, 143, fontpage_2_143_143), // 'ď' -- 'ď'
FONTDATA_ITEM(2, 155, 155, fontpage_2_155_155), // 'ě' -- 'ě'
FONTDATA_ITEM(2, 200, 200, fontpage_2_200_200), // 'ň' -- 'ň'
FONTDATA_ITEM(2, 216, 217, fontpage_2_216_217), // 'Ř' -- 'ř'
FONTDATA_ITEM(2, 225, 225, fontpage_2_225_225), // 'š' -- 'š'
FONTDATA_ITEM(2, 229, 229, fontpage_2_229_229), // 'ť' -- 'ť'
FONTDATA_ITEM(2, 239, 239, fontpage_2_239_239), // 'ů' -- 'ů'
FONTDATA_ITEM(2, 253, 254, fontpage_2_253_254), // 'Ž' -- 'ž'
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,84 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_7_136_136[31] U8G_FONT_SECTION("fontpage_7_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x08,0x00,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x80,0xf8,0x80,0xf0,0x80,0x80,0xf8};
const u8g_fntpgm_uint8_t fontpage_7_145_157[185] U8G_FONT_SECTION("fontpage_7_145_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0xf8,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x50,
0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,
0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,
0x00,0x70,0x88,0x88,0xa8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,
0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,
0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0x88,0x88,0x88,0x05,
0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,
0x00,0x00,0x88,0xc8,0xc8,0xa8,0x98,0x98,0x88};
const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x50,0x50,0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,
0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_7_163_167[82] U8G_FONT_SECTION("fontpage_7_163_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x40,0x20,0x40,0x80,0xf8,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,
0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x20,
0x70,0xa8,0x70,0x20,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,
0x88,0x88};
const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x08,0x68,0x98,0x90,0x90,0x68,0x05,
0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x0a,0x0a,
0x06,0x00,0xfe,0x20,0x40,0x00,0x70,0x88,0x88,0x88,0x88,0x08,0x08,0x02,0x08,0x08,
0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_7_177_199[297] U8G_FONT_SECTION("fontpage_7_177_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x08,0xfe,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x68,0x98,0x90,0x90,0x68,0x04,0x07,0x07,
0x06,0x00,0xfe,0x60,0x90,0xf0,0x90,0xe0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,
0x88,0x48,0x50,0x20,0x20,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x30,0x40,0x70,0x88,
0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x09,0x09,
0x06,0x00,0xfe,0x80,0x70,0x40,0x80,0x80,0x80,0x70,0x08,0x70,0x05,0x07,0x07,0x06,
0x00,0xfe,0xb8,0xc8,0x88,0x88,0x88,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x70,
0x88,0xf8,0x88,0x70,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x60,0x04,
0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x06,0x06,0x06,0x00,0x00,
0x40,0x20,0x20,0x50,0x50,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0xd8,
0xa8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x50,0x60,0x20,0x05,0x0a,
0x0a,0x06,0x00,0xfe,0x80,0xe0,0x80,0x70,0x20,0x40,0x80,0x70,0x08,0x70,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,
0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80,
0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x30,0x40,0x80,0x40,0x30,0x08,0x70,0x05,0x05,
0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x60,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,
0x40,0x40,0x40,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x90,0x90,0xe0,0x05,
0x08,0x08,0x06,0x00,0xfe,0x30,0xa8,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x06,0x06,
0x06,0x00,0xff,0x88,0x50,0x20,0x20,0x50,0x88};
const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0x70};
const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00,
0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x90,0x60,0x05,
0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x88,0x88,0x90,0x90,0x60,0x05,0x08,0x08,
0x06,0x00,0x00,0x20,0x40,0x00,0x50,0x88,0x88,0xa8,0x70};
const u8g_fntpgm_uint8_t fontpage_64_166_166[25] U8G_FONT_SECTION("fontpage_64_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x05,0x00,0x00,
0x00,0x0b,0x01,0x02,0x0c,0x01,0x04,0xc6,0x60};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(7, 136, 136, fontpage_7_136_136), // 'Έ' -- 'Έ'
FONTDATA_ITEM(7, 145, 157, fontpage_7_145_157), // 'Α' -- 'Ν'
FONTDATA_ITEM(7, 159, 161, fontpage_7_159_161), // 'Ο' -- 'Ρ'
FONTDATA_ITEM(7, 163, 167, fontpage_7_163_167), // 'Σ' -- 'Χ'
FONTDATA_ITEM(7, 172, 175, fontpage_7_172_175), // 'ά' -- 'ί'
FONTDATA_ITEM(7, 177, 199, fontpage_7_177_199), // 'α' -- 'χ'
FONTDATA_ITEM(7, 201, 201, fontpage_7_201_201), // 'ω' -- 'ω'
FONTDATA_ITEM(7, 204, 206, fontpage_7_204_206), // 'ό' -- 'ώ'
FONTDATA_ITEM(64, 166, 166, fontpage_64_166_166), // '…' -- '…'
};

View file

@ -0,0 +1,88 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_7_136_136[31] U8G_FONT_SECTION("fontpage_7_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x08,0x00,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x80,0xf8,0x80,0xf0,0x80,0x80,0xf8};
const u8g_fntpgm_uint8_t fontpage_7_145_157[185] U8G_FONT_SECTION("fontpage_7_145_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0xf8,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x50,
0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,
0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,
0x00,0x70,0x88,0x88,0xa8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,
0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,
0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0x88,0x88,0x88,0x05,
0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,
0x00,0x00,0x88,0xc8,0xc8,0xa8,0x98,0x98,0x88};
const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x50,0x50,0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,
0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_7_163_167[82] U8G_FONT_SECTION("fontpage_7_163_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x40,0x20,0x40,0x80,0xf8,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,
0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x20,
0x70,0xa8,0x70,0x20,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,
0x88,0x88};
const u8g_fntpgm_uint8_t fontpage_7_169_169[29] U8G_FONT_SECTION("fontpage_7_169_169") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x06,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x88,0x50,0x50,0xd8};
const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x08,0x68,0x98,0x90,0x90,0x68,0x05,
0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x0a,0x0a,
0x06,0x00,0xfe,0x20,0x40,0x00,0x70,0x88,0x88,0x88,0x88,0x08,0x08,0x02,0x08,0x08,
0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_7_177_199[297] U8G_FONT_SECTION("fontpage_7_177_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x08,0xfe,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x68,0x98,0x90,0x90,0x68,0x04,0x07,0x07,
0x06,0x00,0xfe,0x60,0x90,0xf0,0x90,0xe0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,
0x88,0x48,0x50,0x20,0x20,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x30,0x40,0x70,0x88,
0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x09,0x09,
0x06,0x00,0xfe,0x80,0x70,0x40,0x80,0x80,0x80,0x70,0x08,0x70,0x05,0x07,0x07,0x06,
0x00,0xfe,0xb8,0xc8,0x88,0x88,0x88,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x70,
0x88,0xf8,0x88,0x70,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x60,0x04,
0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x06,0x06,0x06,0x00,0x00,
0x40,0x20,0x20,0x50,0x50,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0xd8,
0xa8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x50,0x60,0x20,0x05,0x0a,
0x0a,0x06,0x00,0xfe,0x80,0xe0,0x80,0x70,0x20,0x40,0x80,0x70,0x08,0x70,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,
0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80,
0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x30,0x40,0x80,0x40,0x30,0x08,0x70,0x05,0x05,
0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x60,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,
0x40,0x40,0x40,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x90,0x90,0xe0,0x05,
0x08,0x08,0x06,0x00,0xfe,0x30,0xa8,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x06,0x06,
0x06,0x00,0xff,0x88,0x50,0x20,0x20,0x50,0x88};
const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0x70};
const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00,
0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x90,0x60,0x05,
0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x88,0x88,0x90,0x90,0x60,0x05,0x08,0x08,
0x06,0x00,0x00,0x20,0x40,0x00,0x50,0x88,0x88,0xa8,0x70};
const u8g_fntpgm_uint8_t fontpage_64_166_166[25] U8G_FONT_SECTION("fontpage_64_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x05,0x00,0x00,
0x00,0x0b,0x01,0x02,0x0c,0x01,0x04,0xc6,0x60};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(7, 136, 136, fontpage_7_136_136), // 'Έ' -- 'Έ'
FONTDATA_ITEM(7, 145, 157, fontpage_7_145_157), // 'Α' -- 'Ν'
FONTDATA_ITEM(7, 159, 161, fontpage_7_159_161), // 'Ο' -- 'Ρ'
FONTDATA_ITEM(7, 163, 167, fontpage_7_163_167), // 'Σ' -- 'Χ'
FONTDATA_ITEM(7, 169, 169, fontpage_7_169_169), // 'Ω' -- 'Ω'
FONTDATA_ITEM(7, 172, 175, fontpage_7_172_175), // 'ά' -- 'ί'
FONTDATA_ITEM(7, 177, 199, fontpage_7_177_199), // 'α' -- 'χ'
FONTDATA_ITEM(7, 201, 201, fontpage_7_201_201), // 'ω' -- 'ω'
FONTDATA_ITEM(7, 204, 206, fontpage_7_204_206), // 'ό' -- 'ώ'
FONTDATA_ITEM(64, 166, 166, fontpage_64_166_166), // '…' -- '…'
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,35 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_2_135_135[32] U8G_FONT_SECTION("fontpage_2_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x09,0x00,0x00,
0x00,0x04,0x09,0x09,0x05,0x00,0x00,0x10,0x20,0x00,0x70,0x80,0x80,0x80,0x80,0x70
};
const u8g_fntpgm_uint8_t fontpage_2_140_141[49] U8G_FONT_SECTION("fontpage_2_140_141") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0b,0x00,0x00,
0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80,
0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80,
0x70};
const u8g_fntpgm_uint8_t fontpage_2_145_145[31] U8G_FONT_SECTION("fontpage_2_145_145") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x08,0x00,0x00,
0x00,0x06,0x08,0x08,0x07,0x00,0x00,0x1c,0x08,0x78,0x88,0x88,0x88,0x88,0x78};
const u8g_fntpgm_uint8_t fontpage_2_225_225[32] U8G_FONT_SECTION("fontpage_2_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88,0x70
};
const u8g_fntpgm_uint8_t fontpage_2_254_254[32] U8G_FONT_SECTION("fontpage_2_254_254") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0xf8
};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(2, 135, 135, fontpage_2_135_135), // 'ć' -- 'ć'
FONTDATA_ITEM(2, 140, 141, fontpage_2_140_141), // 'Č' -- 'č'
FONTDATA_ITEM(2, 145, 145, fontpage_2_145_145), // 'đ' -- 'đ'
FONTDATA_ITEM(2, 225, 225, fontpage_2_225_225), // 'š' -- 'š'
FONTDATA_ITEM(2, 254, 254, fontpage_2_254_254), // 'ž' -- 'ž'
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,115 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_97_161_164[61] U8G_FONT_SECTION("fontpage_97_161_164") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa4,0x00,0x06,0x00,0x00,
0x00,0x04,0x04,0x04,0x06,0x00,0x00,0xf0,0x10,0x60,0x40,0x05,0x06,0x06,0x06,0x00,
0x00,0xf8,0x08,0x28,0x30,0x20,0x40,0x03,0x04,0x04,0x06,0x01,0x00,0x20,0x40,0xc0,
0x40,0x04,0x06,0x06,0x06,0x00,0x00,0x10,0x20,0x60,0xa0,0x20,0x20};
const u8g_fntpgm_uint8_t fontpage_97_166_166[29] U8G_FONT_SECTION("fontpage_97_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x06,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x88,0x08,0x10,0x20};
const u8g_fntpgm_uint8_t fontpage_97_168_168[28] U8G_FONT_SECTION("fontpage_97_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0xf8};
const u8g_fntpgm_uint8_t fontpage_97_170_181[167] U8G_FONT_SECTION("fontpage_97_170_181") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xb5,0x00,0x08,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0xf8,0x30,0x50,0x90,0x10,0x05,0x06,0x06,
0x06,0x00,0x00,0x40,0xf8,0x48,0x48,0x48,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x28,
0x00,0x40,0xf8,0x48,0x48,0x48,0x90,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x20,
0xf8,0x20,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x28,0x00,0x20,0xf8,0x20,0xf8,0x20,
0x20,0x04,0x05,0x05,0x06,0x00,0x00,0x70,0x90,0x10,0x20,0xc0,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0x70,0x90,0x10,0x20,0xc0,0x05,0x06,0x06,0x06,0x00,0x00,0x40,
0x78,0x90,0x10,0x10,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x28,0x00,0x40,0x78,0x90,
0x10,0x10,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x08,0x08,0xf8,0x05,0x07,
0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x08,0x08,0x08,0xf8,0x05,0x06,0x06,0x06,0x00,
0x00,0x50,0xf8,0x50,0x10,0x20,0x40};
const u8g_fntpgm_uint8_t fontpage_97_183_187[77] U8G_FONT_SECTION("fontpage_97_183_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xbb,0x00,0x07,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x08,0xc8,0x10,0xe0,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0xc0,0x08,0xc8,0x10,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,
0x10,0x20,0x50,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x10,0x20,0x50,
0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xf8,0x48,0x50,0x40,0x38};
const u8g_fntpgm_uint8_t fontpage_97_189_193[77] U8G_FONT_SECTION("fontpage_97_189_193") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xc1,0x00,0x07,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x48,0x10,0x60,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0x88,0x88,0x48,0x10,0x60,0x05,0x05,0x05,0x06,0x00,0x00,0x78,
0x48,0xa8,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0x78,0x48,0xa8,0x10,
0x60,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0xe0,0x20,0xf8,0x20,0x40};
const u8g_fntpgm_uint8_t fontpage_97_195_196[38] U8G_FONT_SECTION("fontpage_97_195_196") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc4,0x00,0x05,0x00,0x00,
0x00,0x05,0x04,0x04,0x06,0x00,0x00,0xa8,0xa8,0x08,0x30,0x05,0x05,0x05,0x06,0x00,
0x00,0xa8,0xa8,0x08,0x10,0x20};
const u8g_fntpgm_uint8_t fontpage_97_198_211[190] U8G_FONT_SECTION("fontpage_97_198_211") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xd3,0x00,0x08,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x00,0xf8,0x20,0x20,0x40,0x05,0x08,0x08,
0x06,0x00,0x00,0x28,0x00,0x70,0x00,0xf8,0x20,0x20,0x40,0x03,0x06,0x06,0x06,0x01,
0x00,0x80,0x80,0xc0,0xa0,0x80,0x80,0x04,0x08,0x08,0x06,0x01,0x00,0x50,0x00,0x80,
0x80,0xc0,0xa0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x20,0x20,0x40,
0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x00,0x00,0x00,0xf8,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x08,0x50,0x20,0xd0,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x10,
0x20,0x70,0xa8,0x03,0x06,0x06,0x06,0x01,0x00,0x20,0x20,0x20,0x20,0x40,0x80,0x05,
0x05,0x05,0x06,0x00,0x00,0x10,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,
0x28,0x00,0x10,0x88,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x18,0x18,0x00,
0x10,0x88,0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0xf8,0x80,0x80,
0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x80,0x80,0xf8,0x80,0x80,0x78};
const u8g_fntpgm_uint8_t fontpage_97_213_217[77] U8G_FONT_SECTION("fontpage_97_213_217") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd9,0x00,0x08,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x08,0x10,0x60,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0xf8,0x08,0x08,0x10,0x60,0x05,0x08,0x08,0x06,0x00,0x00,0x18,
0x18,0x00,0xf8,0x08,0x08,0x10,0x60,0x05,0x04,0x04,0x06,0x00,0x01,0x40,0xa0,0x10,
0x08,0x05,0x06,0x06,0x06,0x00,0x01,0x28,0x00,0x40,0xa0,0x10,0x08};
const u8g_fntpgm_uint8_t fontpage_97_219_220[43] U8G_FONT_SECTION("fontpage_97_219_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdc,0x00,0x08,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x20,0xa8,0xa8,0x20,0x05,0x08,0x08,
0x06,0x00,0x00,0x28,0x00,0x20,0xf8,0x20,0xa8,0xa8,0x20};
const u8g_fntpgm_uint8_t fontpage_97_222_223[39] U8G_FONT_SECTION("fontpage_97_222_223") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xdf,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x50,0x20,0x10,0x04,0x05,0x05,0x06,
0x01,0x00,0xe0,0x00,0xe0,0x00,0xf0};
const u8g_fntpgm_uint8_t fontpage_97_225_226[39] U8G_FONT_SECTION("fontpage_97_225_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe2,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x28,0x10,0x28,0xc0,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x40,0xf8,0x40,0x38};
const u8g_fntpgm_uint8_t fontpage_97_228_229[39] U8G_FONT_SECTION("fontpage_97_228_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe5,0x00,0x06,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xf8,0x48,0x50,0x40,0x40,0x04,0x04,0x04,
0x06,0x00,0x00,0x60,0x20,0x20,0xf0};
const u8g_fntpgm_uint8_t fontpage_97_231_237[96] U8G_FONT_SECTION("fontpage_97_231_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xed,0x00,0x06,0x00,0x00,
0x00,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,0x10,0xf0,0x10,0xf0,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x08,0xf8,0x08,0xf8,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x00,0xf8,
0x08,0x10,0x20,0x04,0x06,0x06,0x06,0x00,0x00,0x90,0x90,0x90,0x90,0x10,0x20,0x05,
0x05,0x05,0x06,0x00,0x00,0x20,0xa0,0xa8,0xa8,0xb0,0x04,0x05,0x05,0x06,0x00,0x00,
0x80,0x80,0x90,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0xf8
};
const u8g_fntpgm_uint8_t fontpage_97_242_243[39] U8G_FONT_SECTION("fontpage_97_242_243") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf3,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0x30,0x05,0x05,0x05,0x06,
0x00,0x00,0xc0,0x08,0x08,0x10,0xe0};
const u8g_fntpgm_uint8_t fontpage_97_252_252[24] U8G_FONT_SECTION("fontpage_97_252_252") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x03,0x00,0x00,
0x00,0x05,0x01,0x01,0x06,0x00,0x02,0xf8};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(97, 161, 164, fontpage_97_161_164), // 'ァ' -- 'イ'
FONTDATA_ITEM(97, 166, 166, fontpage_97_166_166), // 'ウ' -- 'ウ'
FONTDATA_ITEM(97, 168, 168, fontpage_97_168_168), // 'エ' -- 'エ'
FONTDATA_ITEM(97, 170, 181, fontpage_97_170_181), // 'オ' -- 'サ'
FONTDATA_ITEM(97, 183, 187, fontpage_97_183_187), // 'シ' -- 'セ'
FONTDATA_ITEM(97, 189, 193, fontpage_97_189_193), // 'ソ' -- 'チ'
FONTDATA_ITEM(97, 195, 196, fontpage_97_195_196), // 'ッ' -- 'ツ'
FONTDATA_ITEM(97, 198, 211, fontpage_97_198_211), // 'テ' -- 'ビ'
FONTDATA_ITEM(97, 213, 217, fontpage_97_213_217), // 'フ' -- 'ベ'
FONTDATA_ITEM(97, 219, 220, fontpage_97_219_220), // 'ホ' -- 'ボ'
FONTDATA_ITEM(97, 222, 223, fontpage_97_222_223), // 'マ' -- 'ミ'
FONTDATA_ITEM(97, 225, 226, fontpage_97_225_226), // 'メ' -- 'モ'
FONTDATA_ITEM(97, 228, 229, fontpage_97_228_229), // 'ヤ' -- 'ュ'
FONTDATA_ITEM(97, 231, 237, fontpage_97_231_237), // 'ョ' -- 'ロ'
FONTDATA_ITEM(97, 242, 243, fontpage_97_242_243), // 'ヲ' -- 'ン'
FONTDATA_ITEM(97, 252, 252, fontpage_97_252_252), // 'ー' -- 'ー'
};

View file

@ -0,0 +1,9 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,40 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_2_133_133[31] U8G_FONT_SECTION("fontpage_2_133_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x06,0xfe,0x00,
0x00,0x06,0x08,0x08,0x06,0x00,0xfe,0x70,0x08,0x78,0x88,0x88,0x78,0x08,0x0c};
const u8g_fntpgm_uint8_t fontpage_2_135_135[32] U8G_FONT_SECTION("fontpage_2_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x09,0x00,0x00,
0x00,0x04,0x09,0x09,0x05,0x00,0x00,0x10,0x20,0x00,0x70,0x80,0x80,0x80,0x80,0x70
};
const u8g_fntpgm_uint8_t fontpage_2_153_153[31] U8G_FONT_SECTION("fontpage_2_153_153") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x06,0xfe,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0xfe,0x70,0x88,0xf8,0x80,0x80,0x78,0x20,0x18};
const u8g_fntpgm_uint8_t fontpage_2_193_196[77] U8G_FONT_SECTION("fontpage_2_193_196") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc4,0x00,0x0b,0x00,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x40,0x50,0x60,0x40,0xc0,0x40,0x78,0x03,
0x08,0x08,0x04,0x00,0x00,0x40,0x40,0x40,0x60,0xc0,0x40,0x40,0x40,0x06,0x0b,0x0b,
0x07,0x00,0x00,0x10,0x20,0x00,0xc4,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x8c,0x05,0x09,
0x09,0x06,0x00,0x00,0x10,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88};
const u8g_fntpgm_uint8_t fontpage_2_218_219[49] U8G_FONT_SECTION("fontpage_2_218_219") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xdb,0x00,0x0b,0x00,0x00,
0x00,0x05,0x0b,0x0b,0x06,0x00,0x00,0x10,0x20,0x00,0x78,0x80,0x80,0x70,0x08,0x08,
0x08,0xf0,0x05,0x09,0x09,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x10,0x88,
0x70};
const u8g_fntpgm_uint8_t fontpage_2_252_252[31] U8G_FONT_SECTION("fontpage_2_252_252") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x08,0x00,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0xf8};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(2, 133, 133, fontpage_2_133_133), // 'ą' -- 'ą'
FONTDATA_ITEM(2, 135, 135, fontpage_2_135_135), // 'ć' -- 'ć'
FONTDATA_ITEM(2, 153, 153, fontpage_2_153_153), // 'ę' -- 'ę'
FONTDATA_ITEM(2, 193, 196, fontpage_2_193_196), // 'Ł' -- 'ń'
FONTDATA_ITEM(2, 218, 219, fontpage_2_218_219), // 'Ś' -- 'ś'
FONTDATA_ITEM(2, 252, 252, fontpage_2_252_252), // 'ż' -- 'ż'
};

View file

@ -0,0 +1,10 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,10 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
};

View file

@ -0,0 +1,77 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_8_144_152[135] U8G_FONT_SECTION("fontpage_8_144_152") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x98,0x00,0x07,0xff,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,
0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,
0x88,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,
0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0x70,0xa8,0xa8,0xa8,0x05,0x07,0x07,
0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,
0x88,0x88,0x98,0xa8,0xc8,0x88,0x88};
const u8g_fntpgm_uint8_t fontpage_8_154_168[213] U8G_FONT_SECTION("fontpage_8_154_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa8,0x00,0x07,0xff,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00,
0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,
0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,
0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,
0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,
0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,
0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x50,
0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20,
0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x08,0x08,
0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x07,0x07,0x06,0x00,
0x00,0x88,0x88,0x88,0x98,0x68,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,
0xa8,0xa8,0xa8,0xa8,0xf8};
const u8g_fntpgm_uint8_t fontpage_8_171_173[56] U8G_FONT_SECTION("fontpage_8_171_173") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xad,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x05,0x07,
0x07,0x06,0x00,0x00,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0x70,0x88,0x08,0x38,0x08,0x88,0x70};
const u8g_fntpgm_uint8_t fontpage_8_175_201[326] U8G_FONT_SECTION("fontpage_8_175_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x07,0xff,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x18,
0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90,
0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06,
0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,
0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05,
0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88,
0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8,
0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8,
0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05,
0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,
0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05,
0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,
0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,
0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20,0x05,0x05,0x05,
0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,
0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x08,0x08,0x05,
0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06,0x06,0x00,0xff,
0xa8,0xa8,0xa8,0xa8,0xf8,0x08};
const u8g_fntpgm_uint8_t fontpage_8_203_207[72] U8G_FONT_SECTION("fontpage_8_203_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcf,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0xc8,0x03,0x05,0x05,0x06,
0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x38,
0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,
0x06,0x00,0x00,0x78,0x88,0x78,0x28,0x48};
const u8g_fntpgm_uint8_t fontpage_8_209_209[30] U8G_FONT_SECTION("fontpage_8_209_209") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf8,0x80,0x70};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(8, 144, 152, fontpage_8_144_152), // 'А' -- 'И'
FONTDATA_ITEM(8, 154, 168, fontpage_8_154_168), // 'К' -- 'Ш'
FONTDATA_ITEM(8, 171, 173, fontpage_8_171_173), // 'Ы' -- 'Э'
FONTDATA_ITEM(8, 175, 201, fontpage_8_175_201), // 'Я' -- 'щ'
FONTDATA_ITEM(8, 203, 207, fontpage_8_203_207), // 'ы' -- 'я'
FONTDATA_ITEM(8, 209, 209, fontpage_8_209_209), // 'ё' -- 'ё'
};

View file

@ -0,0 +1,45 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_2_140_143[80] U8G_FONT_SECTION("fontpage_2_140_143") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8f,0x00,0x0b,0x00,0x00,
0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80,
0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80,
0x70,0x07,0x0b,0x0b,0x08,0x00,0x00,0x48,0x30,0x00,0xf8,0x84,0x82,0x82,0x82,0x82,
0x84,0xf8,0x08,0x08,0x08,0x09,0x00,0x00,0x09,0x0a,0x78,0x88,0x88,0x88,0x88,0x78
};
const u8g_fntpgm_uint8_t fontpage_2_200_200[32] U8G_FONT_SECTION("fontpage_2_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88
};
const u8g_fntpgm_uint8_t fontpage_2_224_225[49] U8G_FONT_SECTION("fontpage_2_224_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe1,0x00,0x0b,0x00,0x00,
0x00,0x05,0x0b,0x0b,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x80,0x70,0x08,0x08,
0x08,0xf0,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88,
0x70};
const u8g_fntpgm_uint8_t fontpage_2_229_229[32] U8G_FONT_SECTION("fontpage_2_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x08,0x50,0x40,0xf0,0x40,0x40,0x40,0x40,0x30
};
const u8g_fntpgm_uint8_t fontpage_2_239_239[32] U8G_FONT_SECTION("fontpage_2_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x09,0x00,0x00,
0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x88,0x78
};
const u8g_fntpgm_uint8_t fontpage_2_253_254[49] U8G_FONT_SECTION("fontpage_2_253_254") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0b,0x00,0x00,
0x00,0x07,0x0b,0x0b,0x08,0x00,0x00,0x24,0x18,0x00,0xfe,0x04,0x08,0x10,0x20,0x40,
0x80,0xfe,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,
0xf8};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(2, 140, 143, fontpage_2_140_143), // 'Č' -- 'ď'
FONTDATA_ITEM(2, 200, 200, fontpage_2_200_200), // 'ň' -- 'ň'
FONTDATA_ITEM(2, 224, 225, fontpage_2_224_225), // 'Š' -- 'š'
FONTDATA_ITEM(2, 229, 229, fontpage_2_229_229), // 'ť' -- 'ť'
FONTDATA_ITEM(2, 239, 239, fontpage_2_239_239), // 'ů' -- 'ů'
FONTDATA_ITEM(2, 253, 254, fontpage_2_253_254), // 'Ž' -- 'ž'
};

View file

@ -0,0 +1,198 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_8_128_255[1255] U8G_FONT_SECTION("fontpage_8_128_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0x08,0xff,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,
0x08,0x08,0x06,0x00,0x00,0x50,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,
0x06,0x00,0x00,0xe0,0x40,0x40,0x70,0x48,0x48,0x70,0x05,0x08,0x08,0x06,0x00,0x00,
0x10,0x20,0xf8,0x88,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,
0x80,0xe0,0x80,0x48,0x30,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,
0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x03,
0x08,0x08,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,
0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,
0xa0,0xa0,0xa0,0xb8,0xa8,0xa8,0xb8,0x05,0x07,0x07,0x06,0x00,0x00,0xa0,0xa0,0xa0,
0xf8,0xa8,0xa8,0xb8,0x04,0x07,0x07,0x06,0x00,0x00,0xe0,0x40,0x70,0x50,0x50,0x50,
0x50,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x88,0x90,0xa0,0xe0,0x90,0x88,0x05,
0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x09,0x09,
0x06,0x00,0xff,0x50,0x20,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x08,0x08,0x06,
0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x20,0x05,0x07,0x07,0x06,0x00,0x00,
0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,
0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,
0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x80,0x80,0x05,0x08,
0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,0x88,0xf8,0x88,0x05,0x07,0x07,0x06,
0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,
0xa8,0xa8,0x70,0xa8,0xa8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70,
0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,
0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xa8,0xc8,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,
0x00,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,
0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,
0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,
0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,
0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,
0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,
0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,
0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,
0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0xff,
0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,
0x88,0x98,0x68,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,
0xa8,0xf8,0x05,0x08,0x08,0x06,0x00,0xff,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,
0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0x40,0x40,0x70,0x48,0x48,0x70,0x05,0x07,0x07,
0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x05,0x07,0x07,0x06,0x00,0x00,
0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,
0x38,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0xa8,0xa8,0xe8,0xa8,0xa8,
0x90,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x18,
0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90,
0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06,
0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,
0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05,
0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88,
0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8,
0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06,
0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8,
0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05,
0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,
0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05,
0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,
0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,
0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20,0x05,0x05,0x05,
0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,
0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x08,0x08,0x05,
0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06,0x06,0x00,0xff,
0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,
0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0xc8,0x03,0x05,0x05,0x06,
0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x38,
0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,
0x06,0x00,0x00,0x78,0x88,0x78,0x28,0x48,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,
0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,
0xf8,0x80,0x70,0x05,0x09,0x09,0x06,0x00,0xff,0x40,0xe0,0x40,0x40,0x78,0x48,0x48,
0x48,0x10,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x88,0x80,0x80,0x80,
0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x05,0x05,0x06,0x00,
0x00,0x70,0x80,0x70,0x08,0xf0,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,
0x80,0x80,0x80,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,0x40,0x40,0x40,0x40,0x40,
0x03,0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x05,0x05,
0x05,0x06,0x00,0x00,0xa0,0xa0,0xb8,0xa8,0xb8,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,
0xa0,0xf8,0xa8,0xb8,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xe0,0x40,0x78,0x48,0x48,
0x04,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x08,
0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x09,0x09,0x06,
0x00,0xff,0x50,0x20,0x00,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x06,0x06,0x06,0x00,
0xff,0x88,0x88,0x88,0x88,0xf8,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff};
const u8g_fntpgm_uint8_t fontpage_97_129_191[870] U8G_FONT_SECTION("fontpage_97_129_191") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0xbf,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x04,0x00,0x4e,0x00,0x55,0x00,0x64,
0x80,0x48,0x40,0xa8,0x40,0x90,0x40,0x90,0x80,0x61,0x00,0x06,0x00,0x08,0x0b,0x0b,
0x0c,0x01,0xff,0x20,0x10,0x70,0x1c,0x28,0xe2,0x39,0x21,0x21,0x12,0x0c,0x08,0x07,
0x07,0x0c,0x02,0xff,0x28,0x2e,0xf5,0x21,0x16,0x10,0x10,0x0b,0x0b,0x16,0x0c,0x00,
0xff,0x02,0x00,0x37,0x00,0x20,0x00,0x13,0xc0,0x9c,0x20,0x70,0x20,0x09,0xc0,0x08,
0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x07,0x07,0x07,0x0c,0x03,0xff,0x10,0x9c,0xb2,
0xd2,0x9c,0x10,0x20,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x82,0x00,0x47,0x80,
0x4a,0x40,0x52,0x20,0x62,0x20,0x6a,0x40,0x47,0x80,0x42,0x00,0x04,0x00,0x08,0x00,
0x07,0x07,0x07,0x0c,0x02,0xff,0x10,0x1c,0x10,0x10,0x78,0x96,0x60,0x09,0x0b,0x16,
0x0c,0x01,0xff,0x10,0x00,0x08,0x00,0x09,0x80,0x0e,0x00,0x08,0x00,0x08,0x00,0x08,
0x00,0x78,0x00,0x8e,0x00,0x89,0x80,0x70,0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,
0x18,0x40,0x80,0x80,0xbc,0xc2,0x82,0x02,0x0c,0x70,0x07,0x0b,0x0b,0x0c,0x02,0xff,
0x88,0x54,0x52,0x62,0x62,0x42,0x42,0x04,0x04,0x08,0x10,0x08,0x0a,0x0a,0x0c,0x01,
0xff,0x4e,0x34,0x08,0x10,0x3e,0x61,0x81,0x19,0x26,0x1c,0x0b,0x0b,0x16,0x0c,0x00,
0xff,0x20,0x00,0x10,0x00,0x13,0x00,0x34,0x80,0xd8,0x80,0x10,0x80,0x10,0x80,0x30,
0x80,0x50,0x80,0xb0,0x60,0x10,0x00,0x08,0x0a,0x0a,0x0c,0x01,0xff,0x4e,0x34,0x08,
0x10,0x3e,0x61,0x81,0x01,0x06,0x18,0x08,0x07,0x07,0x0c,0x02,0xff,0x40,0x30,0xee,
0x31,0x61,0xa2,0x24,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x10,0x00,0x10,0x00,
0x9b,0x80,0x7c,0x40,0x10,0x20,0x10,0x20,0x30,0x20,0x50,0x40,0xb1,0x80,0x10,0x00,
0x0a,0x0a,0x14,0x0c,0x01,0xff,0x4e,0x00,0x34,0x00,0x04,0x00,0x1f,0x00,0x28,0x80,
0x48,0x40,0x90,0x40,0x96,0x40,0x69,0x80,0x47,0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,
0x20,0x00,0x1f,0x00,0x04,0x00,0x1f,0x00,0x20,0x80,0x4c,0x80,0x13,0x00,0x0c,0x00,
0x00,0x00,0x59,0x80,0x86,0x40,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,
0x9e,0x00,0x70,0x00,0x21,0x80,0x72,0x00,0x8c,0x00,0x14,0x00,0x24,0x00,0x20,0x00,
0x1f,0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0x10,0x00,0x08,0x00,0x08,0x00,0x10,0x00,
0x10,0x00,0x38,0x00,0x24,0x00,0x44,0x40,0x44,0x80,0x83,0x00,0x0a,0x0b,0x16,0x0c,
0x00,0xff,0x10,0x00,0x0c,0x80,0x00,0x40,0x1d,0x00,0xe2,0x80,0x02,0x00,0x02,0x00,
0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0xff,0xff,0xff,0xff,0x04,0x03,0x03,0x0c,
0x00,0x07,0x20,0x90,0x40,0xff,0x04,0x03,0x03,0x0c,0x00,0x06,0x20,0x90,0x40,0x03,
0x03,0x03,0x0c,0x00,0x06,0x40,0xa0,0x40,0xff,0xff,0xff,0x05,0x03,0x03,0x06,0x00,
0x01,0xf8,0x00,0xf8,0x04,0x04,0x04,0x06,0x00,0x00,0xf0,0x10,0x60,0x40,0x05,0x06,
0x06,0x06,0x00,0x00,0xf8,0x08,0x28,0x30,0x20,0x40,0x03,0x04,0x04,0x06,0x01,0x00,
0x20,0x40,0xc0,0x40,0x04,0x06,0x06,0x06,0x00,0x00,0x10,0x20,0x60,0xa0,0x20,0x20,
0x04,0x04,0x04,0x06,0x00,0x00,0x20,0xf0,0x90,0x20,0x05,0x06,0x06,0x06,0x00,0x00,
0x20,0xf8,0x88,0x08,0x10,0x20,0x03,0x04,0x04,0x06,0x01,0x00,0xe0,0x40,0x40,0xe0,
0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0xf8,0x04,0x04,0x04,0x06,0x00,
0x00,0x20,0xf0,0x60,0xa0,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0xf8,0x30,0x50,0x90,
0x10,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xf8,0x48,0x48,0x48,0x90,0x05,0x08,0x08,
0x06,0x00,0x00,0x28,0x00,0x40,0xf8,0x48,0x48,0x48,0x90,0x05,0x06,0x06,0x06,0x00,
0x00,0x20,0xf8,0x20,0xf8,0x20,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x28,0x00,0x20,
0xf8,0x20,0xf8,0x20,0x20,0x04,0x05,0x05,0x06,0x00,0x00,0x70,0x90,0x10,0x20,0xc0,
0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0x70,0x90,0x10,0x20,0xc0,0x05,0x06,0x06,
0x06,0x00,0x00,0x40,0x78,0x90,0x10,0x10,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x28,
0x00,0x40,0x78,0x90,0x10,0x10,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x08,
0x08,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x08,0x08,0x08,0xf8,0x05,
0x06,0x06,0x06,0x00,0x00,0x50,0xf8,0x50,0x10,0x20,0x40,0x05,0x08,0x08,0x06,0x00,
0x00,0x28,0x00,0x50,0xf8,0x50,0x10,0x20,0x40,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,
0x08,0xc8,0x10,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xc0,0x08,0xc8,0x10,
0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x10,0x20,0x50,0x88,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0xf8,0x10,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x40,
0xf8,0x48,0x50,0x40,0x38,0x05,0x08,0x08,0x06,0x00,0x00,0x28,0x00,0x40,0xf8,0x48,
0x50,0x40,0x38,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x48,0x10,0x60,0x05,0x07,
0x07,0x06,0x00,0x00,0x28,0x00,0x88,0x88,0x48,0x10,0x60,0x05,0x05,0x05,0x06,0x00,
0x00,0x78,0x48,0xa8,0x10,0x60};
const u8g_fntpgm_uint8_t fontpage_97_193_255[753] U8G_FONT_SECTION("fontpage_97_193_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xff,0x00,0x08,0x00,0x00,
0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0xe0,0x20,0xf8,0x20,0x40,0x05,0x08,0x08,
0x06,0x00,0x00,0x28,0x00,0x10,0xe0,0x20,0xf8,0x20,0x40,0x05,0x04,0x04,0x06,0x00,
0x00,0xa8,0xa8,0x08,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x08,0x10,0x20,
0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xa8,0xa8,0x08,0x10,0x20,0x05,0x06,0x06,
0x06,0x00,0x00,0x70,0x00,0xf8,0x20,0x20,0x40,0x05,0x08,0x08,0x06,0x00,0x00,0x28,
0x00,0x70,0x00,0xf8,0x20,0x20,0x40,0x03,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0xc0,
0xa0,0x80,0x80,0x04,0x08,0x08,0x06,0x01,0x00,0x50,0x00,0x80,0x80,0xc0,0xa0,0x80,
0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x20,0x20,0x40,0x80,0x05,0x05,0x05,
0x06,0x00,0x00,0x70,0x00,0x00,0x00,0xf8,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,
0x50,0x20,0xd0,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x10,0x20,0x70,0xa8,0x03,
0x06,0x06,0x06,0x01,0x00,0x20,0x20,0x20,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,
0x00,0x10,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0x10,0x88,
0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x18,0x18,0x00,0x10,0x88,0x88,0x88,
0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0xf8,0x80,0x80,0x78,0x05,0x07,0x07,
0x06,0x00,0x00,0x28,0x80,0x80,0xf8,0x80,0x80,0x78,0x05,0x07,0x07,0x06,0x00,0x00,
0x18,0x98,0x80,0xf8,0x80,0x80,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x08,
0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x08,0x08,0x10,0x60,0x05,
0x08,0x08,0x06,0x00,0x00,0x18,0x18,0x00,0xf8,0x08,0x08,0x10,0x60,0x05,0x04,0x04,
0x06,0x00,0x01,0x40,0xa0,0x10,0x08,0x05,0x06,0x06,0x06,0x00,0x01,0x28,0x00,0x40,
0xa0,0x10,0x08,0x05,0x06,0x06,0x06,0x00,0x01,0x18,0x18,0x40,0xa0,0x10,0x08,0x05,
0x06,0x06,0x06,0x00,0x00,0x20,0xf8,0x20,0xa8,0xa8,0x20,0x05,0x08,0x08,0x06,0x00,
0x00,0x28,0x00,0x20,0xf8,0x20,0xa8,0xa8,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x18,
0x18,0x20,0xf8,0x20,0xa8,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0x50,
0x20,0x10,0x04,0x05,0x05,0x06,0x01,0x00,0xe0,0x00,0xe0,0x00,0xf0,0x05,0x05,0x05,
0x06,0x00,0x00,0x20,0x40,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x28,
0x10,0x28,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x40,0xf8,0x40,0x38,0x05,0x04,
0x04,0x06,0x00,0x00,0x40,0xf8,0x50,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xf8,
0x48,0x50,0x40,0x40,0x04,0x04,0x04,0x06,0x00,0x00,0x60,0x20,0x20,0xf0,0x05,0x05,
0x05,0x06,0x00,0x00,0x70,0x10,0x10,0x10,0xf8,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,
0x10,0xf0,0x10,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0xf8,0x05,
0x06,0x06,0x06,0x00,0x00,0x70,0x00,0xf8,0x08,0x10,0x20,0x04,0x06,0x06,0x06,0x00,
0x00,0x90,0x90,0x90,0x90,0x10,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x20,0xa0,0xa8,
0xa8,0xb0,0x04,0x05,0x05,0x06,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0x05,0x05,0x05,
0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0xf8,0x04,0x04,0x04,0x06,0x00,0x00,0xf0,0x90,
0x10,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x08,0x10,0x20,0x05,0x06,0x06,
0x06,0x00,0x00,0x10,0xf8,0x50,0x50,0xf8,0x10,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,
0x08,0x30,0x20,0xf8,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0x30,0x05,
0x05,0x05,0x06,0x00,0x00,0xc0,0x08,0x08,0x10,0xe0,0x05,0x08,0x08,0x06,0x00,0x00,
0x28,0x00,0x20,0xf8,0x88,0x08,0x10,0x20,0x04,0x04,0x04,0x06,0x00,0x00,0x40,0xf0,
0x50,0xa0,0x04,0x04,0x04,0x06,0x00,0x00,0x40,0xf0,0x20,0x40,0x05,0x07,0x07,0x06,
0x00,0x00,0x28,0x00,0xf8,0x88,0x08,0x10,0x60,0x05,0x08,0x08,0x06,0x00,0x00,0x28,
0x00,0x10,0xf8,0x50,0x50,0xf8,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xf8,
0x08,0x30,0x20,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x08,0xf8,0x08,
0x30,0x02,0x02,0x02,0x06,0x02,0x02,0xc0,0xc0,0x05,0x01,0x01,0x06,0x00,0x02,0xf8,
0x05,0x04,0x04,0x06,0x00,0x01,0x80,0x60,0x10,0x08,0x05,0x05,0x05,0x06,0x00,0x01,
0x28,0x80,0x60,0x10,0x08,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0x08,0x08,0x08,
0x08};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(8, 128, 255, fontpage_8_128_255), // 'Ѐ' -- 'ѿ'
FONTDATA_ITEM(97, 129, 191, fontpage_97_129_191), // 'め' -- 'タ'
FONTDATA_ITEM(97, 193, 255, fontpage_97_193_255), // 'チ' -- 'ヿ'
};

View file

@ -0,0 +1,24 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_2_159_159[34] U8G_FONT_SECTION("fontpage_2_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x09,0xfe,0x00,
0x00,0x05,0x0b,0x0b,0x06,0x00,0xfe,0x88,0x70,0x00,0x78,0x88,0x88,0x88,0x88,0x78,
0x08,0x70};
const u8g_fntpgm_uint8_t fontpage_2_176_177[45] U8G_FONT_SECTION("fontpage_2_176_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb1,0x00,0x0a,0x00,0x00,
0x00,0x03,0x0a,0x0a,0x04,0x00,0x00,0x40,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0x40,
0xe0,0x01,0x06,0x06,0x02,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_2_223_223[31] U8G_FONT_SECTION("fontpage_2_223_223") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x06,0xfe,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0xfe,0x70,0x88,0x60,0x10,0x88,0x70,0x10,0x60};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(2, 159, 159, fontpage_2_159_159), // 'ğ' -- 'ğ'
FONTDATA_ITEM(2, 176, 177, fontpage_2_176_177), // 'İ' -- 'ı'
FONTDATA_ITEM(2, 223, 223, fontpage_2_223_223), // 'ş' -- 'ş'
};

View file

@ -0,0 +1,90 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_8_134_134[30] U8G_FONT_SECTION("fontpage_8_134_134") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x07,0x00,0x00,
0x00,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0};
const u8g_fntpgm_uint8_t fontpage_8_144_146[56] U8G_FONT_SECTION("fontpage_8_144_146") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x92,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,
0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0};
const u8g_fntpgm_uint8_t fontpage_8_148_149[44] U8G_FONT_SECTION("fontpage_8_148_149") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x95,0x00,0x07,0xff,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,0x88,0xf8,0x88,0x05,
0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8};
const u8g_fntpgm_uint8_t fontpage_8_151_154[70] U8G_FONT_SECTION("fontpage_8_151_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x9a,0x00,0x08,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x08,0x08,0x06,0x00,
0x00,0x50,0x20,0x88,0x98,0xa8,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,
0x90,0xa0,0xc0,0xa0,0x90,0x88};
const u8g_fntpgm_uint8_t fontpage_8_156_164[134] U8G_FONT_SECTION("fontpage_8_156_164") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0xa4,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,
0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,
0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,
0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,
0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,
0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,
0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,
0x70,0xa8,0xa8,0xa8,0x70,0x20};
const u8g_fntpgm_uint8_t fontpage_8_166_166[31] U8G_FONT_SECTION("fontpage_8_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xff,0x00,
0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08};
const u8g_fntpgm_uint8_t fontpage_8_168_168[30] U8G_FONT_SECTION("fontpage_8_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x07,0x00,0x00,
0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8};
const u8g_fntpgm_uint8_t fontpage_8_176_201[313] U8G_FONT_SECTION("fontpage_8_176_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xc9,0x00,0x07,0xff,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,
0x00,0x00,0x18,0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,
0x90,0xe0,0x90,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,
0x06,0x06,0x06,0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,
0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,
0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,
0x00,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,
0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,
0x05,0x05,0x06,0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,
0x88,0xd8,0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,
0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,
0x00,0xf8,0x88,0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,
0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,
0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,
0x88,0x78,0x08,0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20,
0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,
0xff,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,
0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06,
0x06,0x00,0xff,0xa8,0xa8,0xa8,0xa8,0xf8,0x08};
const u8g_fntpgm_uint8_t fontpage_8_204_204[28] U8G_FONT_SECTION("fontpage_8_204_204") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x05,0x00,0x00,
0x00,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0};
const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,0x06,
0x00,0x00,0x78,0x88,0x78,0x28,0x48};
const u8g_fntpgm_uint8_t fontpage_8_212_212[28] U8G_FONT_SECTION("fontpage_8_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x05,0x00,0x00,
0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70};
const u8g_fntpgm_uint8_t fontpage_8_214_214[30] U8G_FONT_SECTION("fontpage_8_214_214") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x07,0x00,0x00,
0x00,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(8, 134, 134, fontpage_8_134_134), // 'І' -- 'І'
FONTDATA_ITEM(8, 144, 146, fontpage_8_144_146), // 'А' -- 'В'
FONTDATA_ITEM(8, 148, 149, fontpage_8_148_149), // 'Д' -- 'Е'
FONTDATA_ITEM(8, 151, 154, fontpage_8_151_154), // 'З' -- 'К'
FONTDATA_ITEM(8, 156, 164, fontpage_8_156_164), // 'М' -- 'Ф'
FONTDATA_ITEM(8, 166, 166, fontpage_8_166_166), // 'Ц' -- 'Ц'
FONTDATA_ITEM(8, 168, 168, fontpage_8_168_168), // 'Ш' -- 'Ш'
FONTDATA_ITEM(8, 176, 201, fontpage_8_176_201), // 'а' -- 'щ'
FONTDATA_ITEM(8, 204, 204, fontpage_8_204_204), // 'ь' -- 'ь'
FONTDATA_ITEM(8, 206, 207, fontpage_8_206_207), // 'ю' -- 'я'
FONTDATA_ITEM(8, 212, 212, fontpage_8_212_212), // 'є' -- 'є'
FONTDATA_ITEM(8, 214, 214, fontpage_8_214_214), // 'і' -- 'і'
};

View file

@ -0,0 +1,1289 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_69_191_191[41] U8G_FONT_SECTION("fontpage_69_191_191") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0x00,0x00,
0x00,0x09,0x09,0x12,0x0c,0x01,0x01,0x00,0x80,0x01,0x80,0x02,0x80,0x04,0x80,0x08,
0x80,0x10,0x80,0x20,0x80,0x40,0x80,0xff,0x80};
const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00,
0x00,0x0b,0x02,0x04,0x0c,0x00,0x04,0x00,0x40,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156_137_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x0b,0x0b,0x16,0x0c,0x00,
0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x04,0x00,0x04,
0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04,
0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04,
0x00};
const u8g_fntpgm_uint8_t fontpage_156_157_157[45] U8G_FONT_SECTION("fontpage_156_157_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x29,0x40,0x4a,0x40,0xf7,
0x80,0x10,0x80,0x21,0x00,0x42,0x00,0xf7,0xc0,0x00,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_170_170[45] U8G_FONT_SECTION("fontpage_156_170_170") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x49,
0x00,0x88,0xc0,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_156_173_173[45] U8G_FONT_SECTION("fontpage_156_173_173") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0x88,
0x80,0x88,0x80,0xff,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_156_187_187[45] U8G_FONT_SECTION("fontpage_156_187_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,
0x00,0x04,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_203_203[45] U8G_FONT_SECTION("fontpage_156_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0x7f,0xc0,0x00,0x80,0x01,
0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xe0};
const u8g_fntpgm_uint8_t fontpage_157_134_134[45] U8G_FONT_SECTION("fontpage_157_134_134") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0xff,0x80,0x01,0x00,0x02,0x00,0x0c,0x00,0x08,
0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x28,0x00,0x10,0x00};
const u8g_fntpgm_uint8_t fontpage_157_142_142[45] U8G_FONT_SECTION("fontpage_157_142_142") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,
0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x1c,0x00};
const u8g_fntpgm_uint8_t fontpage_157_174_174[45] U8G_FONT_SECTION("fontpage_157_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x11,0x00,0x1f,0x00,0x00,
0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x00,0x21,0x20,0xc0,0xe0};
const u8g_fntpgm_uint8_t fontpage_157_206_206[45] U8G_FONT_SECTION("fontpage_157_206_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,
0x00,0x11,0x00,0x2a,0x80,0x2a,0x80,0x44,0x40,0x88,0x40,0x10,0x20};
const u8g_fntpgm_uint8_t fontpage_157_228_228[45] U8G_FONT_SECTION("fontpage_157_228_228") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x0a,0x00,0x11,0x00,0x24,
0x80,0xc2,0x60,0x3f,0x80,0x01,0x00,0x0a,0x00,0x04,0x00,0x02,0x00};
const u8g_fntpgm_uint8_t fontpage_157_253_253[45] U8G_FONT_SECTION("fontpage_157_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68,
0x20,0xa7,0xc0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xc0};
const u8g_fntpgm_uint8_t fontpage_158_145_145[45] U8G_FONT_SECTION("fontpage_158_145_145") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x21,0x00,0x3f,0xe0,0x61,
0x00,0xa3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_158_205_206[73] U8G_FONT_SECTION("fontpage_158_205_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x20,0x00,0x2f,0xe0,0x60,
0x00,0xa4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x10,0xc0,0x1f,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xaf,0xe0,0x29,
0x00,0x29,0x20,0x2a,0xa0,0x2d,0x60,0x28,0xa0};
const u8g_fntpgm_uint8_t fontpage_158_220_220[45] U8G_FONT_SECTION("fontpage_158_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x14,0x00,0x27,0xe0,0x2a,0x00,0x72,
0x00,0xa3,0xc0,0x22,0x00,0x22,0x00,0x23,0xe0,0x22,0x00,0x22,0x00};
const u8g_fntpgm_uint8_t fontpage_159_155_155[45] U8G_FONT_SECTION("fontpage_159_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x80,0x14,0x80,0x24,0x80,0x2f,0xe0,0x64,
0x80,0xa4,0x80,0x3f,0xe0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20};
const u8g_fntpgm_uint8_t fontpage_159_221_221[45] U8G_FONT_SECTION("fontpage_159_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x14,0x40,0x24,0x40,0x27,0xc0,0x61,
0x00,0xaf,0xe0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_159_225_225[45] U8G_FONT_SECTION("fontpage_159_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x2f,0xe0,0x20,0x00,0x67,
0xc0,0xa0,0x00,0x27,0xc0,0x20,0x00,0x27,0xc0,0x24,0x40,0x27,0xc0};
const u8g_fntpgm_uint8_t fontpage_160_188_188[45] U8G_FONT_SECTION("fontpage_160_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x1f,0xe0,0x22,0x00,0x27,0xc0,0x64,
0x40,0xa7,0xc0,0x24,0x40,0x27,0x40,0x25,0xc0,0x24,0x40,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_160_207_207[45] U8G_FONT_SECTION("fontpage_160_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x28,0x20,0x2f,0xe0,0x68,
0x00,0xaf,0xe0,0x2a,0xa0,0x2f,0xe0,0x2a,0xa0,0x3a,0xa0,0x28,0x60};
const u8g_fntpgm_uint8_t fontpage_160_220_220[45] U8G_FONT_SECTION("fontpage_160_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x20,0x00,0x4f,0xc0,0x48,
0x40,0xdf,0xe0,0x50,0x20,0x4f,0xc0,0x41,0x00,0x41,0x00,0x47,0x00};
const u8g_fntpgm_uint8_t fontpage_161_168_168[45] U8G_FONT_SECTION("fontpage_161_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x61,0x20,0x57,0xc0,0x41,0x40,0x77,0xe0,0xd1,
0x00,0x53,0xc0,0x56,0x40,0x53,0xc0,0x5a,0x40,0x52,0x40,0x43,0xc0};
const u8g_fntpgm_uint8_t fontpage_162_197_197[45] U8G_FONT_SECTION("fontpage_162_197_197") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0xff,0xc0,0x08,0x00,0x11,0x00,0x7f,
0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xc1,0xc0};
const u8g_fntpgm_uint8_t fontpage_162_200_200[45] U8G_FONT_SECTION("fontpage_162_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x84,
0x00,0xff,0xe0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0};
const u8g_fntpgm_uint8_t fontpage_162_229_229[45] U8G_FONT_SECTION("fontpage_162_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0a,
0x00,0x0a,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20};
const u8g_fntpgm_uint8_t fontpage_162_232_232[45] U8G_FONT_SECTION("fontpage_162_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf,
0x60,0x04,0x00,0x04,0x00,0x1f,0x00,0x04,0x00,0x04,0x00,0x7f,0xc0};
const u8g_fntpgm_uint8_t fontpage_162_241_241[45] U8G_FONT_SECTION("fontpage_162_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11,
0x00,0x11,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40};
const u8g_fntpgm_uint8_t fontpage_162_243_243[45] U8G_FONT_SECTION("fontpage_162_243_243") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0x7f,0xc0,0x04,0x00,0x04,
0x00,0xff,0xc0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60};
const u8g_fntpgm_uint8_t fontpage_162_247_247[45] U8G_FONT_SECTION("fontpage_162_247_247") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,
0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0,0x11,0x00,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_163_183_183[45] U8G_FONT_SECTION("fontpage_163_183_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32,
0x60,0x41,0x00,0x4f,0xc0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80};
const u8g_fntpgm_uint8_t fontpage_163_198_198[45] U8G_FONT_SECTION("fontpage_163_198_198") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x89,0x00,0x4f,0xe0,0x59,0x00,0x09,
0x00,0x2f,0xc0,0x29,0x00,0xcf,0xc0,0x49,0x00,0x49,0x00,0x4f,0xe0};
const u8g_fntpgm_uint8_t fontpage_163_201_201[45] U8G_FONT_SECTION("fontpage_163_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x4f,0xe0,0x40,0x00,0x07,0xc0,0x24,
0x40,0x24,0x40,0x27,0xc0,0xc1,0x00,0x45,0x40,0x49,0x20,0x53,0x20};
const u8g_fntpgm_uint8_t fontpage_163_250_251[73] U8G_FONT_SECTION("fontpage_163_250_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f,
0xc0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xff,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,
0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f,0xc0};
const u8g_fntpgm_uint8_t fontpage_164_134_134[45] U8G_FONT_SECTION("fontpage_164_134_134") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40,
0x40,0xbf,0xa0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xc3,0x00};
const u8g_fntpgm_uint8_t fontpage_164_155_155[45] U8G_FONT_SECTION("fontpage_164_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x18,0x20,0x24,0xa0,0x42,0xa0,0xbc,
0xa0,0x24,0xa0,0x24,0xa0,0x38,0xa0,0x22,0x20,0x22,0x20,0x1e,0x60};
const u8g_fntpgm_uint8_t fontpage_164_157_157[45] U8G_FONT_SECTION("fontpage_164_157_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x27,0xe0,0xf9,0x20,0x11,0x20,0x21,
0x20,0x69,0x20,0xb1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xc0};
const u8g_fntpgm_uint8_t fontpage_164_176_176[45] U8G_FONT_SECTION("fontpage_164_176_176") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfe,0x20,0x10,0x20,0x20,0xa0,0x44,0xa0,0xfe,
0xa0,0x10,0xa0,0x7c,0xa0,0x10,0xa0,0x10,0x20,0x1e,0x20,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_164_182_183[73] U8G_FONT_SECTION("fontpage_164_182_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x50,0xa0,0x7e,0xa0,0x90,0xa0,0xfe,
0xa0,0x10,0xa0,0x7e,0xa0,0x52,0xa0,0x52,0x20,0x56,0x20,0x10,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x7e,0x20,0x42,0x20,0x7e,0xa0,0x48,0xa0,0x48,0xa0,0x7e,0xa0,0x6a,
0xa0,0xaa,0xa0,0xaa,0xa0,0x2e,0x20,0x08,0xe0};
const u8g_fntpgm_uint8_t fontpage_165_155_155[45] U8G_FONT_SECTION("fontpage_165_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0xff,0x80,0x08,
0x80,0x08,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00};
const u8g_fntpgm_uint8_t fontpage_165_160_160[45] U8G_FONT_SECTION("fontpage_165_160_160") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x20,0x00,0xfd,0xe0,0x25,0x20,0x25,
0x20,0x25,0x20,0x25,0x20,0x25,0x20,0x45,0x20,0x55,0xe0,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_165_168_168[45] U8G_FONT_SECTION("fontpage_165_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0x79,0x00,0x01,0x00,0x03,0xe0,0xfd,
0x20,0x21,0x20,0x21,0x20,0x49,0x20,0xfa,0x20,0x0a,0x20,0x04,0xc0};
const u8g_fntpgm_uint8_t fontpage_166_150_150[45] U8G_FONT_SECTION("fontpage_166_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63,
0x00,0xa2,0x00,0x26,0x00,0x2a,0x00,0x22,0x20,0x22,0x20,0x21,0xe0};
const u8g_fntpgm_uint8_t fontpage_166_202_202[45] U8G_FONT_SECTION("fontpage_166_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7f,
0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_166_207_207[45] U8G_FONT_SECTION("fontpage_166_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x42,0x00,0x4f,0x80,0xe2,0x80,0x42,
0x80,0x4a,0xc0,0x52,0xa0,0x44,0x80,0x44,0x80,0x4a,0x80,0x51,0x00};
const u8g_fntpgm_uint8_t fontpage_166_213_213[45] U8G_FONT_SECTION("fontpage_166_213_213") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x0a,0x00,0x7f,0xc0,0x44,0x40,0x7f,
0xc0,0x44,0x40,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_166_225_225[45] U8G_FONT_SECTION("fontpage_166_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x0f,0x80,0x08,0x00,0x08,0x00,0xff,
0xe0,0x08,0x00,0x0a,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_166_240_240[45] U8G_FONT_SECTION("fontpage_166_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0xe7,0xc0,0x84,0x40,0x84,0x40,0xf4,
0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xe5,0x80,0x84,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_166_248_248[45] U8G_FONT_SECTION("fontpage_166_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7d,0xe0,0x91,0x20,0x11,0x20,0xff,
0x20,0x11,0x20,0x5d,0x20,0x51,0x20,0x51,0xa0,0x5d,0x40,0xe1,0x00};
const u8g_fntpgm_uint8_t fontpage_167_159_159[45] U8G_FONT_SECTION("fontpage_167_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x22,0x00,0x2f,0xc0,0x28,0x40,0x2f,
0xc0,0x28,0x40,0x2f,0xc0,0x22,0x00,0x2a,0x80,0x52,0x60,0xa6,0x20};
const u8g_fntpgm_uint8_t fontpage_167_204_204[43] U8G_FONT_SECTION("fontpage_167_204_204") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0xff,0x00,
0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x0a,0x40,0x4a,0x40,0x2a,0x40,0x11,
0x40,0x11,0x40,0x28,0x80,0x45,0x80,0x82,0x40,0x04,0x20};
const u8g_fntpgm_uint8_t fontpage_167_214_214[45] U8G_FONT_SECTION("fontpage_167_214_214") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfc,0x00,0x4b,0xe0,0x4a,0x20,0x7a,0x20,0x49,
0x40,0x79,0x40,0x48,0x80,0x4c,0x80,0xf9,0x40,0x0a,0x40,0x0c,0x20};
const u8g_fntpgm_uint8_t fontpage_167_216_216[45] U8G_FONT_SECTION("fontpage_167_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x12,0x00,0x52,0x80,0x92,
0x40,0x00,0x00,0x7f,0x80,0x12,0x00,0x0c,0x00,0x12,0x00,0xe1,0xc0};
const u8g_fntpgm_uint8_t fontpage_167_240_240[45] U8G_FONT_SECTION("fontpage_167_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xff,
0x80,0x00,0x80,0x7f,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7f,0x00};
const u8g_fntpgm_uint8_t fontpage_168_136_136[45] U8G_FONT_SECTION("fontpage_168_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf,
0x60,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x20,0x80};
const u8g_fntpgm_uint8_t fontpage_168_142_142[45] U8G_FONT_SECTION("fontpage_168_142_142") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x3f,0xe0,0x20,
0x00,0x20,0x00,0x2f,0xc0,0x28,0x40,0x48,0x40,0x4f,0xc0,0x88,0x40};
const u8g_fntpgm_uint8_t fontpage_168_175_175[45] U8G_FONT_SECTION("fontpage_168_175_175") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,
0xc0,0x20,0x00,0x3f,0xc0,0x30,0x40,0x50,0x40,0x5f,0xc0,0x90,0x40};
const u8g_fntpgm_uint8_t fontpage_168_253_253[45] U8G_FONT_SECTION("fontpage_168_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0xee,0xe0,0x00,
0x00,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7a,0x40,0x4a,0xc0,0x02,0x00};
const u8g_fntpgm_uint8_t fontpage_169_140_140[45] U8G_FONT_SECTION("fontpage_169_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0c,0x00,0x70,0x00,0x11,0xe0,0xfd,0x20,0x11,
0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xe0,0x10,0x00};
const u8g_fntpgm_uint8_t fontpage_171_183_183[45] U8G_FONT_SECTION("fontpage_171_183_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4,
0x40,0xaf,0xe0,0xe8,0x20,0xa9,0x20,0x09,0x20,0x02,0x80,0x0c,0x60};
const u8g_fntpgm_uint8_t fontpage_172_180_180[45] U8G_FONT_SECTION("fontpage_172_180_180") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0xa0,0xeb,0xc0,0xaa,0xa0,0xbf,0xe0,0xa4,
0x80,0xaf,0xe0,0xf9,0x20,0x0f,0xe0,0x09,0x20,0x0f,0xe0,0x11,0x20};
const u8g_fntpgm_uint8_t fontpage_173_222_222[45] U8G_FONT_SECTION("fontpage_173_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x80,0x40,0x9e,0x40,0x92,
0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0x80,0x40,0xff,0xc0,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_173_224_224[45] U8G_FONT_SECTION("fontpage_173_224_224") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x84,0x20,0x84,0x20,0xbf,0xa0,0x84,
0x20,0x84,0x20,0x8a,0x20,0x91,0x20,0xa0,0xa0,0x80,0x20,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_173_254_254[45] U8G_FONT_SECTION("fontpage_173_254_254") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x90,0x40,0x9f,0x40,0xb2,0x40,0xcc,
0x40,0x92,0x40,0xe9,0xc0,0x84,0x40,0x88,0x40,0x84,0x40,0xff,0xc0};
const u8g_fntpgm_uint8_t fontpage_174_168_168[45] U8G_FONT_SECTION("fontpage_174_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0xc0,0x10,0x00,0x22,
0x00,0x62,0x00,0xaf,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3f,0xc0};
const u8g_fntpgm_uint8_t fontpage_174_215_215[45] U8G_FONT_SECTION("fontpage_174_215_215") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x27,0xc0,0xf9,0x40,0x21,
0x40,0x21,0x40,0x2f,0xe0,0x31,0x00,0xc2,0x80,0x04,0x40,0x18,0x20};
const u8g_fntpgm_uint8_t fontpage_175_139_139[45] U8G_FONT_SECTION("fontpage_175_139_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x40,0x29,0x40,0x29,0x40,0xff,0x40,0x29,
0x40,0x28,0x40,0x4c,0xc0,0x04,0x00,0x3f,0x80,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_175_171_171[45] U8G_FONT_SECTION("fontpage_175_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xff,0x80,0x22,0x80,0x36,0xa0,0xe3,
0xa0,0x2c,0xe0,0x64,0x00,0x04,0x00,0x3f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_176_235_235[45] U8G_FONT_SECTION("fontpage_176_235_235") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x21,0x00,0xf7,0xc0,0x24,
0x40,0x27,0x40,0x25,0xc0,0x34,0x40,0xef,0xe0,0x02,0x80,0x0c,0x60};
const u8g_fntpgm_uint8_t fontpage_177_243_243[45] U8G_FONT_SECTION("fontpage_177_243_243") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0xc0,0x00,
0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x20,0x21,0x20,0xc0,0xe0};
const u8g_fntpgm_uint8_t fontpage_178_135_135[45] U8G_FONT_SECTION("fontpage_178_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x80,0x31,0x00,0x4e,0x00,0x0b,
0x00,0x30,0xe0,0xff,0x80,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80};
const u8g_fntpgm_uint8_t fontpage_178_141_141[45] U8G_FONT_SECTION("fontpage_178_141_141") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x3f,0xe0,0x60,0x80,0xbf,0x80,0x20,
0x80,0x3f,0x80,0x10,0x00,0x3f,0x80,0xc9,0x00,0x06,0x00,0xf9,0xe0};
const u8g_fntpgm_uint8_t fontpage_178_150_150[45] U8G_FONT_SECTION("fontpage_178_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x3d,0x00,0x25,0x00,0x45,
0x80,0xa5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00};
const u8g_fntpgm_uint8_t fontpage_178_154_154[45] U8G_FONT_SECTION("fontpage_178_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x1f,0x00,0x21,0x00,0x52,0x00,0x0c,
0x00,0x34,0x00,0xcf,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xf8,0x00};
const u8g_fntpgm_uint8_t fontpage_178_167_167[45] U8G_FONT_SECTION("fontpage_178_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,
0x00,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60};
const u8g_fntpgm_uint8_t fontpage_178_169_170[73] U8G_FONT_SECTION("fontpage_178_169_170") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,
0xe0,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x0a,
0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xc4,0x60};
const u8g_fntpgm_uint8_t fontpage_178_177_177[45] U8G_FONT_SECTION("fontpage_178_177_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60};
const u8g_fntpgm_uint8_t fontpage_179_203_203[45] U8G_FONT_SECTION("fontpage_179_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xfa,0x40,0x2a,0x20,0x2f,
0xe0,0x48,0x00,0x53,0xe0,0x32,0x20,0x2a,0x20,0x4b,0xe0,0x82,0x20};
const u8g_fntpgm_uint8_t fontpage_182_208_208[45] U8G_FONT_SECTION("fontpage_182_208_208") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_182_216_216[45] U8G_FONT_SECTION("fontpage_182_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0xc0,0x20,
0x80,0x61,0x00,0xbf,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00};
const u8g_fntpgm_uint8_t fontpage_183_137_137[45] U8G_FONT_SECTION("fontpage_183_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x88,0x40,0x08,
0x00,0xff,0xe0,0x11,0x00,0x31,0x00,0x0e,0x00,0x09,0x80,0x70,0x60};
const u8g_fntpgm_uint8_t fontpage_183_140_140[45] U8G_FONT_SECTION("fontpage_183_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x00,
0x00,0x7f,0xe0,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xe0};
const u8g_fntpgm_uint8_t fontpage_183_154_154[45] U8G_FONT_SECTION("fontpage_183_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x80,0x40,0x3f,
0xc0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_183_162_162[45] U8G_FONT_SECTION("fontpage_183_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x90,0x40,0x3f,0x00,0x52,
0x00,0x8c,0x00,0x33,0x00,0xff,0xc0,0x21,0x00,0x21,0x00,0x3f,0x00};
const u8g_fntpgm_uint8_t fontpage_183_185_185[45] U8G_FONT_SECTION("fontpage_183_185_185") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x91,0x20,0x24,0x80,0x4a,
0x40,0x11,0x00,0x20,0x80,0xdf,0x60,0x11,0x00,0x11,0x00,0x1f,0x00};
const u8g_fntpgm_uint8_t fontpage_183_249_249[45] U8G_FONT_SECTION("fontpage_183_249_249") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x00,0x80,0xf0,0x80,0x1f,0xe0,0x90,0x80,0x50,
0x80,0x24,0x80,0x22,0x80,0x50,0x80,0x50,0x80,0x82,0x80,0x01,0x00};
const u8g_fntpgm_uint8_t fontpage_184_143_143[45] U8G_FONT_SECTION("fontpage_184_143_143") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24,
0x40,0x44,0x40,0x44,0x20,0x84,0x20,0x04,0x00,0x14,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_184_177_177[45] U8G_FONT_SECTION("fontpage_184_177_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xfd,0x40,0x01,0x20,0x7f,0xe0,0x4a,
0x80,0x7a,0x80,0x12,0x80,0x5a,0xa0,0x56,0xa0,0x92,0xa0,0x34,0x60};
const u8g_fntpgm_uint8_t fontpage_184_207_207[45] U8G_FONT_SECTION("fontpage_184_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x20,0x20,0x3f,0xe0,0x28,0x40,0x24,
0x80,0x3f,0xe0,0x24,0x80,0x3f,0xe0,0x24,0x80,0x48,0x80,0x90,0x80};
const u8g_fntpgm_uint8_t fontpage_187_229_229[41] U8G_FONT_SECTION("fontpage_187_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00,
0x00,0x0b,0x09,0x12,0x0c,0x00,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,
0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_187_242_242[43] U8G_FONT_SECTION("fontpage_187_242_242") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00,
0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0xff,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xff,
0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7f,0xc0};
const u8g_fntpgm_uint8_t fontpage_188_243_243[45] U8G_FONT_SECTION("fontpage_188_243_243") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x24,0x80,0x15,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_188_246_246[45] U8G_FONT_SECTION("fontpage_188_246_246") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11,
0x00,0x11,0x00,0xff,0xe0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00};
const u8g_fntpgm_uint8_t fontpage_189_138_138[45] U8G_FONT_SECTION("fontpage_189_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x42,0x00,0x42,0x00,0x7f,
0xe0,0x42,0x00,0x47,0x00,0x4a,0x80,0x52,0x40,0xa2,0x20,0x82,0x00};
const u8g_fntpgm_uint8_t fontpage_189_148_148[45] U8G_FONT_SECTION("fontpage_189_148_148") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x7f,0xe0,0x40,0x00,0x44,
0x40,0x52,0x40,0x4a,0x40,0x48,0x80,0x40,0x80,0x81,0x00,0x9f,0xe0};
const u8g_fntpgm_uint8_t fontpage_189_159_159[45] U8G_FONT_SECTION("fontpage_189_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x3f,0xe0,0x2a,0x80,0x2a,0x40,0x3f,
0xe0,0x24,0x00,0x27,0xc0,0x2a,0x40,0x31,0x80,0x42,0x40,0x8c,0x20};
const u8g_fntpgm_uint8_t fontpage_189_166_166[45] U8G_FONT_SECTION("fontpage_189_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x49,0x00,0x7f,0xc0,0x49,
0x00,0x4f,0x00,0x40,0x00,0x5f,0x80,0x49,0x00,0x86,0x00,0xb9,0xc0};
const u8g_fntpgm_uint8_t fontpage_190_128_128[45] U8G_FONT_SECTION("fontpage_190_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x11,0x00,0x11,0x00,0x11,0x00,0x11,
0x00,0xff,0xe0,0x11,0x00,0x21,0x00,0x21,0x00,0x41,0x00,0x81,0x00};
const u8g_fntpgm_uint8_t fontpage_190_210_210[45] U8G_FONT_SECTION("fontpage_190_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0x17,0xc0,0x90,0x40,0x90,0x40,0x90,
0x40,0x97,0xc0,0x90,0x40,0x90,0x40,0x20,0x40,0x4f,0xc0,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_191_132_133[73] U8G_FONT_SECTION("fontpage_191_132_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x20,0x80,0x49,0x00,0x92,0x80,0x24,
0x40,0x68,0x20,0xa7,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x11,0x00,0x21,0x00,0x47,0xc0,0x91,0x00,0x1f,0xe0,0x20,0x80,0x6f,
0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x21,0x80};
const u8g_fntpgm_uint8_t fontpage_191_174_174[45] U8G_FONT_SECTION("fontpage_191_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x6a,0x80,0xbe,0x80,0x01,0xe0,0x5d,
0x40,0xc3,0x40,0x5d,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20};
const u8g_fntpgm_uint8_t fontpage_191_195_195[45] U8G_FONT_SECTION("fontpage_191_195_195") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10,
0x40,0x50,0x20,0x50,0x20,0x50,0xa0,0x90,0x80,0x10,0x80,0x0f,0x80};
const u8g_fntpgm_uint8_t fontpage_192_167_167[45] U8G_FONT_SECTION("fontpage_192_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x00,0xb5,0x00,0xaf,0xe0,0xa9,
0x00,0xb1,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_192_187_187[45] U8G_FONT_SECTION("fontpage_192_187_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x0a,0x00,0x3f,0x80,0x20,0x80,0x20,
0x80,0x3f,0x80,0x20,0x80,0x04,0x40,0x52,0xa0,0x50,0xa0,0x8f,0x80};
const u8g_fntpgm_uint8_t fontpage_192_226_226[45] U8G_FONT_SECTION("fontpage_192_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0xb2,0x00,0xaa,0x80,0xa4,
0x80,0xa5,0xa0,0x2a,0xc0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20};
const u8g_fntpgm_uint8_t fontpage_192_239_239[45] U8G_FONT_SECTION("fontpage_192_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,
0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x54,0x40,0x52,0xa0,0x8f,0x80};
const u8g_fntpgm_uint8_t fontpage_196_144_144[45] U8G_FONT_SECTION("fontpage_196_144_144") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x80,0x02,0x40,0x7f,0xe0,0x42,0x00,0x42,
0x00,0x7a,0x40,0x4a,0x40,0x4a,0x80,0x49,0x20,0x52,0xa0,0x84,0x60};
const u8g_fntpgm_uint8_t fontpage_196_183_183[45] U8G_FONT_SECTION("fontpage_196_183_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x3f,0xc0,0x20,0x40,0x20,
0x40,0x3f,0xc0,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00};
const u8g_fntpgm_uint8_t fontpage_196_192_192[45] U8G_FONT_SECTION("fontpage_196_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x60,0x63,0x80,0x42,0x00,0x7a,0x00,0x4b,
0xe0,0x4a,0x40,0x7a,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40};
const u8g_fntpgm_uint8_t fontpage_196_199_199[45] U8G_FONT_SECTION("fontpage_196_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x7f,0xe0,0x40,
0x00,0x7d,0xe0,0x44,0x20,0x54,0xa0,0x4c,0x60,0x54,0xa0,0xa9,0x60};
const u8g_fntpgm_uint8_t fontpage_196_203_203[45] U8G_FONT_SECTION("fontpage_196_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xc0,0x7c,0x00,0x04,0x00,0x7f,0xc0,0x04,
0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00};
const u8g_fntpgm_uint8_t fontpage_196_211_211[45] U8G_FONT_SECTION("fontpage_196_211_211") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0xf8,0x80,0x20,0x80,0x28,
0x80,0x30,0x80,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0xe3,0x80};
const u8g_fntpgm_uint8_t fontpage_196_231_231[45] U8G_FONT_SECTION("fontpage_196_231_231") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x22,0x00,0xff,0x80,0x22,0x80,0x2a,
0x80,0x36,0x80,0x62,0x80,0xa7,0xa0,0x24,0xa0,0xa8,0xa0,0x50,0x60};
const u8g_fntpgm_uint8_t fontpage_196_249_249[45] U8G_FONT_SECTION("fontpage_196_249_249") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x24,0x80,0xfc,0x80,0x24,0xa0,0x2f,
0xc0,0x34,0x80,0x64,0x80,0xa4,0x80,0x25,0xa0,0x26,0xa0,0xe4,0x60};
const u8g_fntpgm_uint8_t fontpage_197_150_150[45] U8G_FONT_SECTION("fontpage_197_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0x22,0x40,0xf9,0x40,0x20,0x40,0x2a,
0x40,0x31,0x40,0x60,0xe0,0xaf,0x40,0x20,0x40,0x20,0x40,0xe0,0x40};
const u8g_fntpgm_uint8_t fontpage_197_189_189[45] U8G_FONT_SECTION("fontpage_197_189_189") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x20,0x80,0xf8,0x80,0x27,0xe0,0x2c,
0xa0,0x34,0xa0,0x67,0xe0,0xa4,0xa0,0x24,0xa0,0x27,0xe0,0xe4,0x20};
const u8g_fntpgm_uint8_t fontpage_197_212_212[45] U8G_FONT_SECTION("fontpage_197_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0xff,0xe0,0x22,0x00,0x2b,
0xc0,0x32,0x40,0x65,0x40,0xa4,0x80,0x28,0x80,0x29,0x40,0xe6,0x20};
const u8g_fntpgm_uint8_t fontpage_197_233_233[45] U8G_FONT_SECTION("fontpage_197_233_233") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x22,0x40,0xf9,0x80,0x22,0x40,0x2c,
0x20,0x31,0x00,0x67,0xc0,0xa1,0x00,0x2f,0xe0,0x21,0x00,0xe1,0x00};
const u8g_fntpgm_uint8_t fontpage_198_137_137[45] U8G_FONT_SECTION("fontpage_198_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0xff,0xe0,0x25,0x20,0x29,
0x00,0x37,0xe0,0x62,0x40,0xa6,0x40,0x21,0x80,0x22,0x80,0xec,0x60};
const u8g_fntpgm_uint8_t fontpage_198_161_161[45] U8G_FONT_SECTION("fontpage_198_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x20,0xfb,0x40,0x21,0x00,0x2f,
0xe0,0x30,0x20,0x60,0x20,0xa7,0xe0,0x20,0x20,0x20,0x20,0xef,0xe0};
const u8g_fntpgm_uint8_t fontpage_198_164_164[45] U8G_FONT_SECTION("fontpage_198_164_164") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0xfa,0x40,0x21,0x80,0x2e,
0x60,0x30,0x00,0x62,0x40,0xa2,0x40,0x22,0x40,0x24,0x40,0xe8,0x40};
const u8g_fntpgm_uint8_t fontpage_198_226_226[45] U8G_FONT_SECTION("fontpage_198_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xfc,0x80,0x27,0xc0,0x2d,
0x40,0x35,0x40,0x6f,0xe0,0xa1,0x00,0x22,0x80,0x24,0x40,0xe8,0x20};
const u8g_fntpgm_uint8_t fontpage_199_137_137[45] U8G_FONT_SECTION("fontpage_199_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0xe0,0xf9,0x00,0x27,0xc0,0x2c,
0x40,0x37,0xc0,0x64,0x40,0xa7,0xc0,0x21,0x00,0x2f,0xe0,0xe1,0x00};
const u8g_fntpgm_uint8_t fontpage_199_162_162[45] U8G_FONT_SECTION("fontpage_199_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x28,0x20,0xf2,0x80,0x24,0x40,0x29,
0x20,0x31,0x00,0x6f,0xe0,0xa1,0x00,0x25,0x80,0x29,0x40,0xf1,0x20};
const u8g_fntpgm_uint8_t fontpage_199_167_167[45] U8G_FONT_SECTION("fontpage_199_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf8,0x20,0x22,0x80,0x24,
0x40,0x38,0x20,0x67,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0xef,0xe0};
const u8g_fntpgm_uint8_t fontpage_199_210_210[45] U8G_FONT_SECTION("fontpage_199_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xf1,0x00,0x2f,0xe0,0x21,
0x00,0x35,0x60,0x69,0x20,0xad,0x60,0x29,0x20,0x29,0x20,0xef,0xe0};
const u8g_fntpgm_uint8_t fontpage_202_182_182[45] U8G_FONT_SECTION("fontpage_202_182_182") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x93,0xe0,0x94,0x40,0x9a,
0x40,0x92,0x40,0xb2,0x80,0xd1,0x00,0x91,0x80,0x12,0x40,0x14,0x20};
const u8g_fntpgm_uint8_t fontpage_202_190_190[45] U8G_FONT_SECTION("fontpage_202_190_190") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x11,0x00,0xfd,0xe0,0x22,0x40,0x25,
0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4a,0x40,0x94,0x20};
const u8g_fntpgm_uint8_t fontpage_202_240_240[45] U8G_FONT_SECTION("fontpage_202_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x95,0x00,0x59,0x00,0xfd,0xe0,0x33,0x40,0x59,
0x40,0x95,0x40,0xfd,0x40,0x29,0x40,0x68,0x80,0x11,0x40,0xee,0x20};
const u8g_fntpgm_uint8_t fontpage_202_244_244[45] U8G_FONT_SECTION("fontpage_202_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x55,0x40,0x7c,0x80,0x39,
0x40,0x56,0x20,0x7f,0xc0,0x04,0x00,0x27,0x80,0x24,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_203_153_153[45] U8G_FONT_SECTION("fontpage_203_153_153") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xac,0x80,0x72,0x80,0x20,0x80,0xfc,
0x80,0x22,0x80,0x30,0xe0,0x6f,0x80,0xa0,0x80,0x20,0x80,0x20,0x80};
const u8g_fntpgm_uint8_t fontpage_203_156_156[45] U8G_FONT_SECTION("fontpage_203_156_156") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x40,0x29,0x40,0x44,0xc0,0xb8,0x40,0x12,
0x40,0x7d,0x40,0x10,0x60,0x55,0xc0,0x52,0x40,0x92,0x40,0x30,0x40};
const u8g_fntpgm_uint8_t fontpage_203_176_176[45] U8G_FONT_SECTION("fontpage_203_176_176") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x60,0xfd,0x80,0x45,0x00,0x29,0x00,0xfd,
0xe0,0x11,0x40,0xfd,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40};
const u8g_fntpgm_uint8_t fontpage_203_224_224[45] U8G_FONT_SECTION("fontpage_203_224_224") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,
0xe0,0x0a,0x00,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0};
const u8g_fntpgm_uint8_t fontpage_203_246_246[45] U8G_FONT_SECTION("fontpage_203_246_246") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x00,0x80,0xf0,0x80,0x9f,0xe0,0x90,0x80,0x94,
0x80,0xf2,0x80,0x92,0x80,0x90,0x80,0x90,0x80,0xf0,0x80,0x03,0x80};
const u8g_fntpgm_uint8_t fontpage_204_142_142[45] U8G_FONT_SECTION("fontpage_204_142_142") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xe0,0xf2,0x20,0x92,0x20,0x93,0xe0,0xf2,
0x20,0x92,0x20,0x93,0xe0,0xf2,0x20,0x04,0x20,0x08,0xa0,0x30,0x40};
const u8g_fntpgm_uint8_t fontpage_205_130_130[45] U8G_FONT_SECTION("fontpage_205_130_130") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0xfb,0x80,0x52,0x00,0xfb,0xe0,0x12,
0x80,0xf4,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80};
const u8g_fntpgm_uint8_t fontpage_205_171_171[45] U8G_FONT_SECTION("fontpage_205_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x00,0x55,0xe0,0x7d,0x40,0x55,
0x40,0xff,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40};
const u8g_fntpgm_uint8_t fontpage_205_244_244[45] U8G_FONT_SECTION("fontpage_205_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x02,0x00,0x3f,0xc0,0x22,0x40,0x3f,
0xc0,0x22,0x40,0x3f,0xc0,0x0a,0x00,0x04,0x00,0x1b,0x00,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_206_128_128[45] U8G_FONT_SECTION("fontpage_206_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,
0xe0,0x48,0x00,0x7f,0xc0,0x4a,0x40,0x79,0x80,0xc9,0x80,0x0e,0x60};
const u8g_fntpgm_uint8_t fontpage_206_137_137[45] U8G_FONT_SECTION("fontpage_206_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x1f,0x80,0x30,
0x80,0x5f,0x80,0x90,0x80,0x1f,0x80,0x10,0x80,0x10,0x80,0x11,0x80};
const u8g_fntpgm_uint8_t fontpage_206_186_186[45] U8G_FONT_SECTION("fontpage_206_186_186") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0x80,0x24,0x80,0xfc,0x80,0x24,
0x80,0x74,0x80,0x6c,0x80,0xa4,0x80,0xa4,0x80,0x28,0xa0,0x30,0xe0};
const u8g_fntpgm_uint8_t fontpage_206_192_192[45] U8G_FONT_SECTION("fontpage_206_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x19,0x00,0x06,0x00,0x19,0x00,0x64,
0xc0,0x04,0x00,0xff,0xe0,0x15,0x00,0x24,0x80,0xc4,0x60,0x0c,0x00};
const u8g_fntpgm_uint8_t fontpage_206_225_225[45] U8G_FONT_SECTION("fontpage_206_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x80,0x29,0x00,0x46,0x00,0x0a,
0x00,0x35,0x80,0xc4,0x60,0x3f,0x80,0x15,0x00,0x24,0x80,0xdc,0x40};
const u8g_fntpgm_uint8_t fontpage_206_229_229[45] U8G_FONT_SECTION("fontpage_206_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x24,0x80,0x15,0x00,0xff,
0xe0,0x04,0x00,0x0e,0x00,0x15,0x00,0x24,0x80,0xc4,0x60,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_206_255_255[45] U8G_FONT_SECTION("fontpage_206_255_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xfc,0x00,0x24,0x00,0x27,
0xc0,0x74,0x40,0x6e,0x40,0xa5,0x80,0x28,0x80,0x29,0x40,0x36,0x20};
const u8g_fntpgm_uint8_t fontpage_207_241_241[45] U8G_FONT_SECTION("fontpage_207_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0xff,0xe0,0x21,0x00,0x71,
0x00,0x69,0x00,0xa7,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_208_161_161[45] U8G_FONT_SECTION("fontpage_208_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0x2f,0xe0,0xf0,0x00,0x22,
0x80,0x74,0x40,0x6a,0xa0,0xa2,0x80,0x21,0x00,0x22,0x80,0x2c,0x60};
const u8g_fntpgm_uint8_t fontpage_208_188_188[45] U8G_FONT_SECTION("fontpage_208_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x40,0x2a,0x80,0x21,
0x00,0x72,0x80,0x6c,0x60,0xa7,0xc0,0x24,0x40,0x24,0x40,0x27,0xc0};
const u8g_fntpgm_uint8_t fontpage_209_192_192[45] U8G_FONT_SECTION("fontpage_209_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x22,0x80,0xfc,0x40,0x28,0x20,0x27,
0xc0,0x70,0x00,0x69,0x20,0xa4,0xa0,0x22,0x40,0x22,0x80,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_211_253_253[45] U8G_FONT_SECTION("fontpage_211_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x2f,0xe0,0xfa,0xa0,0x2f,0xe0,0x2a,
0xa0,0x3f,0xe0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x27,0xc0,0x24,0x40};
const u8g_fntpgm_uint8_t fontpage_212_217_217[45] U8G_FONT_SECTION("fontpage_212_217_217") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0x40,0x2a,0xa0,0xf4,0x40,0x27,0xc0,0x38,
0x20,0x27,0xc0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x22,0x80,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_214_226_226[45] U8G_FONT_SECTION("fontpage_214_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27,
0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xff,0xc0};
const u8g_fntpgm_uint8_t fontpage_214_229_229[45] U8G_FONT_SECTION("fontpage_214_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x27,0xc0,0x24,0x00,0x24,0x00,0xff,
0xe0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xf8,0x00};
const u8g_fntpgm_uint8_t fontpage_215_212_212[45] U8G_FONT_SECTION("fontpage_215_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xf6,
0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xb4,0x40,0xc4,0x40,0x83,0xc0};
const u8g_fntpgm_uint8_t fontpage_217_161_161[45] U8G_FONT_SECTION("fontpage_217_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0x24,0x80,0x84,0x80,0x48,0xe0,0x10,
0x00,0x2f,0xc0,0x24,0x80,0x42,0x80,0xc3,0x00,0x44,0x80,0x58,0x60};
const u8g_fntpgm_uint8_t fontpage_217_226_226[45] U8G_FONT_SECTION("fontpage_217_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x8f,0xe0,0x49,0x20,0x19,
0x00,0x2f,0xc0,0x28,0x40,0xca,0x80,0x49,0x00,0x52,0x80,0x6c,0x60};
const u8g_fntpgm_uint8_t fontpage_218_187_187[45] U8G_FONT_SECTION("fontpage_218_187_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x81,0x00,0x5f,0xe0,0x11,
0x00,0x21,0x00,0x27,0xc0,0xc4,0x40,0x44,0x40,0x47,0xc0,0x44,0x40};
const u8g_fntpgm_uint8_t fontpage_218_203_203[45] U8G_FONT_SECTION("fontpage_218_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xbe,0x20,0x62,0xa0,0x2a,0xa0,0xaa,0xa0,0x6a,
0xa0,0x2a,0xa0,0x2a,0xa0,0xc8,0xa0,0x54,0x20,0x62,0x20,0x40,0xe0};
const u8g_fntpgm_uint8_t fontpage_219_136_136[45] U8G_FONT_SECTION("fontpage_219_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xe0,0x14,
0x20,0x27,0xe0,0x24,0x20,0xc7,0xe0,0x44,0x20,0x44,0x20,0x44,0x60};
const u8g_fntpgm_uint8_t fontpage_219_225_225[45] U8G_FONT_SECTION("fontpage_219_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54,
0x40,0x29,0x20,0x25,0x40,0xc5,0x80,0x49,0x00,0x42,0x80,0x5c,0x60};
const u8g_fntpgm_uint8_t fontpage_220_133_133[45] U8G_FONT_SECTION("fontpage_220_133_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x01,0x00,0x97,0xc0,0x51,
0x00,0x2f,0xe0,0x24,0x40,0xc7,0x40,0x45,0xc0,0x44,0x40,0x44,0xc0};
const u8g_fntpgm_uint8_t fontpage_220_169_169[45] U8G_FONT_SECTION("fontpage_220_169_169") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x07,0xc0,0x94,0x40,0x57,
0xc0,0x20,0x00,0x2f,0xe0,0xca,0xa0,0x4a,0xa0,0x4a,0xa0,0x5f,0xe0};
const u8g_fntpgm_uint8_t fontpage_221_144_144[45] U8G_FONT_SECTION("fontpage_221_144_144") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x80,0x8b,0xe0,0x4a,0x20,0x1b,
0xe0,0x2a,0x20,0x2b,0xe0,0xc8,0x80,0x4a,0xc0,0x54,0xa0,0x69,0xa0};
const u8g_fntpgm_uint8_t fontpage_223_192_192[45] U8G_FONT_SECTION("fontpage_223_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x3e,0x80,0x12,0xe0,0x9e,0xa0,0x53,
0xa0,0x3e,0xa0,0x28,0xa0,0xdf,0xa0,0x4a,0x40,0x52,0xa0,0x65,0x20};
const u8g_fntpgm_uint8_t fontpage_224_237_237[43] U8G_FONT_SECTION("fontpage_224_237_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x09,0xff,0x00,
0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x24,0x40,0x24,0x40,0x24,
0x80,0x4a,0x00,0x0a,0x00,0x11,0x00,0x20,0xe0,0xc0,0x40};
const u8g_fntpgm_uint8_t fontpage_224_239_239[45] U8G_FONT_SECTION("fontpage_224_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x17,0xe0,0x54,0x80,0x58,0x80,0x50,
0x80,0x90,0x80,0x10,0x80,0x10,0x80,0x28,0x80,0x44,0x80,0x81,0x80};
const u8g_fntpgm_uint8_t fontpage_225_185_185[45] U8G_FONT_SECTION("fontpage_225_185_185") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x3f,
0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x00,0x00,0x52,0x40,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_225_237_237[45] U8G_FONT_SECTION("fontpage_225_237_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xf7,0x80,0x22,0x80,0x32,0x80,0x66,
0x80,0xa3,0x80,0x24,0xa0,0x68,0x60,0x00,0x00,0x52,0x40,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_228_199_199[45] U8G_FONT_SECTION("fontpage_228_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x21,0x00,0x3f,0xe0,0x20,
0x00,0x20,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_228_249_249[45] U8G_FONT_SECTION("fontpage_228_249_249") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xa7,0xc0,0xf1,0x00,0xa1,0x00,0xaf,
0xe0,0x30,0x80,0x6f,0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x23,0x80};
const u8g_fntpgm_uint8_t fontpage_231_135_135[45] U8G_FONT_SECTION("fontpage_231_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x88,0x40,0x52,0x80,0x0c,
0x00,0x2a,0x80,0xdf,0x40,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_234_168_168[45] U8G_FONT_SECTION("fontpage_234_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x44,0x40,0x7f,0xc0,0x44,
0x40,0x44,0x40,0x7f,0xc0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xc0};
const u8g_fntpgm_uint8_t fontpage_234_181_181[45] U8G_FONT_SECTION("fontpage_234_181_181") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb5,0xb5,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0xff,
0x80,0x88,0x80,0x88,0x80,0xff,0x80,0x08,0x40,0x08,0x40,0x07,0xc0};
const u8g_fntpgm_uint8_t fontpage_236_253_253[34] U8G_FONT_SECTION("fontpage_236_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x08,0x0b,0x0b,0x0c,0x02,0xff,0x10,0x20,0xff,0x81,0x81,0xff,0x81,0x81,0x81,
0xff,0x81};
const u8g_fntpgm_uint8_t fontpage_237_132_132[45] U8G_FONT_SECTION("fontpage_237_132_132") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x22,0x00,0x42,0x00,0xf7,0xc0,0x98,0x40,0x90,
0x40,0xf4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xf0,0x40,0x91,0x80};
const u8g_fntpgm_uint8_t fontpage_237_244_244[45] U8G_FONT_SECTION("fontpage_237_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0x80,0x20,
0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x20,0x80,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_238_129_129[45] U8G_FONT_SECTION("fontpage_238_129_129") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x14,0x80,0x25,0x60,0x46,0x20,0x1f,
0x80,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80};
const u8g_fntpgm_uint8_t fontpage_238_160_160[45] U8G_FONT_SECTION("fontpage_238_160_160") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf4,0x20,0x97,0xe0,0xf4,0x80,0x94,
0x80,0x97,0xe0,0xf4,0x80,0x94,0x80,0xf4,0xa0,0x96,0x60,0x04,0x20};
const u8g_fntpgm_uint8_t fontpage_243_239_239[45] U8G_FONT_SECTION("fontpage_243_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x00,0xe3,0xe0,0x22,0x20,0xfa,0x20,0x22,
0x20,0x73,0xe0,0x68,0x00,0xa2,0x40,0xa2,0x40,0x24,0x20,0x28,0x20};
const u8g_fntpgm_uint8_t fontpage_243_251_251[45] U8G_FONT_SECTION("fontpage_243_251_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xe3,0xe0,0x24,0x20,0xfa,0x40,0x21,
0x80,0x36,0x80,0x29,0xe0,0x62,0x20,0xa5,0x40,0x20,0x80,0x27,0x00};
const u8g_fntpgm_uint8_t fontpage_245_239_239[45] U8G_FONT_SECTION("fontpage_245_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x45,0x20,0xf7,0xe0,0x00,0x00,0xaf,
0xe0,0xa1,0x00,0xaf,0xe0,0x4a,0xa0,0x6a,0xa0,0x8a,0xa0,0x08,0x60};
const u8g_fntpgm_uint8_t fontpage_246_201_201[45] U8G_FONT_SECTION("fontpage_246_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x94,0x80,0x7f,0xc0,0x04,
0x00,0xff,0xe0,0x01,0x00,0x7f,0xc0,0x11,0x00,0x09,0x00,0x03,0x00};
const u8g_fntpgm_uint8_t fontpage_247_161_161[45] U8G_FONT_SECTION("fontpage_247_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x3d,0xe0,0x52,0x80,0xff,0xe0,0x80,
0x20,0x3f,0x80,0x20,0x80,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,0xc0};
const u8g_fntpgm_uint8_t fontpage_248_251_251[45] U8G_FONT_SECTION("fontpage_248_251_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x15,0x00,0xff,0xe0,0x15,0x00,0x24,
0x80,0x40,0x40,0x04,0x00,0xff,0xe0,0x0a,0x00,0x11,0x00,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_250_171_171[45] U8G_FONT_SECTION("fontpage_250_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x51,0x40,0x5d,0x80,0x51,0x20,0xfd,
0xe0,0x08,0x80,0x3f,0x00,0x08,0x80,0x7f,0xc0,0x24,0x80,0xcc,0x60};
const u8g_fntpgm_uint8_t fontpage_253_162_162[45] U8G_FONT_SECTION("fontpage_253_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xc0,0x41,0x00,0x51,0x00,0xe1,
0x00,0x21,0x00,0x41,0x00,0xf1,0x00,0x01,0x00,0x31,0x00,0xcf,0xe0};
const u8g_fntpgm_uint8_t fontpage_253_191_191[45] U8G_FONT_SECTION("fontpage_253_191_191") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0x43,0xc0,0x4e,0x00,0xe3,
0xe0,0x2e,0x00,0x42,0x40,0xf2,0x80,0x09,0x20,0x32,0xa0,0xcc,0x60};
const u8g_fntpgm_uint8_t fontpage_253_198_198[45] U8G_FONT_SECTION("fontpage_253_198_198") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0x44,0xa0,0x54,0xa0,0xe4,
0xa0,0x27,0xe0,0x44,0xa0,0xf4,0xa0,0x04,0xa0,0x37,0xe0,0xc4,0x20};
const u8g_fntpgm_uint8_t fontpage_253_200_200[45] U8G_FONT_SECTION("fontpage_253_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0x54,0x40,0xea,0x80,0x21,
0x00,0x42,0x80,0xec,0x60,0x01,0x00,0x30,0xc0,0xc3,0x00,0x00,0xc0};
const u8g_fntpgm_uint8_t fontpage_253_223_223[45] U8G_FONT_SECTION("fontpage_253_223_223") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x42,0x00,0x54,0x40,0xef,
0xe0,0x22,0xa0,0x42,0x80,0xf2,0x80,0x02,0xa0,0x34,0xa0,0xc8,0xe0};
const u8g_fntpgm_uint8_t fontpage_253_231_231[45] U8G_FONT_SECTION("fontpage_253_231_231") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x26,0xa0,0x45,0xc0,0x54,0x80,0xe7,
0xe0,0x24,0x80,0x45,0xc0,0xf6,0xa0,0x04,0x80,0x34,0x80,0xc7,0xe0};
const u8g_fntpgm_uint8_t fontpage_253_234_234[45] U8G_FONT_SECTION("fontpage_253_234_234") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xa0,0x49,0x40,0x57,0xe0,0xe1,
0x00,0x23,0xe0,0x46,0x20,0xf3,0xe0,0x0a,0x20,0x33,0xe0,0xc2,0x20};
const u8g_fntpgm_uint8_t fontpage_253_237_237[45] U8G_FONT_SECTION("fontpage_253_237_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xc0,0x41,0x00,0x57,0xe0,0xe4,
0xa0,0x2a,0x80,0x44,0x80,0xef,0xe0,0x01,0x00,0x32,0xc0,0xcc,0x20};
const u8g_fntpgm_uint8_t fontpage_253_255_255[45] U8G_FONT_SECTION("fontpage_253_255_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x20,0x40,0x43,0xc0,0xf0,0x40,0x2f,
0xe0,0x41,0x20,0xf5,0x40,0x03,0x80,0x35,0x40,0xc9,0x20,0x03,0x00};
const u8g_fntpgm_uint8_t fontpage_254_150_150[45] U8G_FONT_SECTION("fontpage_254_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x48,0x20,0x5f,0xe0,0xe8,
0x00,0x2f,0xe0,0x4a,0xa0,0xff,0xe0,0x0a,0xa0,0x3a,0xa0,0xc8,0x60};
const u8g_fntpgm_uint8_t fontpage_254_186_186[45] U8G_FONT_SECTION("fontpage_254_186_186") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x41,0x00,0x7b,0xc0,0xa1,0x40,0x21,
0x40,0xff,0xe0,0x21,0x00,0xa9,0x00,0xaa,0x80,0xfa,0x40,0x04,0x20};
const u8g_fntpgm_uint8_t fontpage_254_209_209[45] U8G_FONT_SECTION("fontpage_254_209_209") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x91,0x40,0xd5,0x40,0xa2,
0x40,0x92,0x40,0xad,0x40,0xc5,0x40,0x88,0x40,0x80,0x40,0x81,0xc0};
const u8g_fntpgm_uint8_t fontpage_254_238_238[45] U8G_FONT_SECTION("fontpage_254_238_238") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x4a,0x40,0x7f,0xc0,0x04,0x00,0xff,
0xe0,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_254_242_242[45] U8G_FONT_SECTION("fontpage_254_242_242") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x49,0x20,0x7f,0xe0,0x04,0x40,0x3f,
0x80,0x05,0x00,0xff,0xe0,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80};
const u8g_fntpgm_uint8_t fontpage_256_234_234[45] U8G_FONT_SECTION("fontpage_256_234_234") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x40,0xfa,0x80,0x57,0xc0,0x54,0x40,0x74,
0x40,0x57,0xc0,0x71,0x00,0x5a,0xa0,0xf6,0xa0,0x1a,0x40,0x11,0xc0};
const u8g_fntpgm_uint8_t fontpage_259_234_234[34] U8G_FONT_SECTION("fontpage_259_234_234") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00,
0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,0xfe,0x82,0x82,0xfe,0x82,0xfe,0x82,0x82,
0xfe,0x82};
const u8g_fntpgm_uint8_t fontpage_263_220_220[45] U8G_FONT_SECTION("fontpage_263_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x01,0xc0,0x7e,
0x80,0x28,0x80,0x15,0x00,0xff,0xe0,0x15,0x00,0x24,0x80,0xc4,0x60};
const u8g_fntpgm_uint8_t fontpage_265_221_221[45] U8G_FONT_SECTION("fontpage_265_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x52,0x00,0x53,
0xc0,0x55,0x00,0x10,0x80,0x7f,0xc0,0x4a,0x40,0x4a,0x40,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_272_204_204[45] U8G_FONT_SECTION("fontpage_272_204_204") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x40,0x00,0x80,0x00,0x10,0x00,0x2f,
0xe0,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80};
const u8g_fntpgm_uint8_t fontpage_273_171_171[45] U8G_FONT_SECTION("fontpage_273_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x20,0x80,0xff,0xe0,0x14,0xa0,0x2c,
0x80,0x77,0xe0,0xad,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20};
const u8g_fntpgm_uint8_t fontpage_273_197_197[45] U8G_FONT_SECTION("fontpage_273_197_197") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x9f,0xe0,0x51,0x00,0x31,0x00,0xd7,
0xc0,0x12,0x00,0xff,0xe0,0x0c,0x40,0x32,0x80,0xd1,0x00,0x18,0xe0};
const u8g_fntpgm_uint8_t fontpage_275_210_210[45] U8G_FONT_SECTION("fontpage_275_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x00,0x22,0x00,0x7f,0xc0,0xa4,
0x40,0x3f,0xc0,0x24,0x40,0x3f,0xc0,0x24,0x40,0x45,0x40,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_279_161_161[45] U8G_FONT_SECTION("fontpage_279_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x01,0x00,0x0f,0xe0,0xe1,
0x00,0x21,0x00,0x21,0x00,0x29,0x00,0x31,0x00,0x21,0x00,0x01,0x00};
const u8g_fntpgm_uint8_t fontpage_279_174_174[45] U8G_FONT_SECTION("fontpage_279_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x21,0x40,0x05,0x40,0x04,0x40,0xe4,
0x40,0x22,0x80,0x22,0x80,0x29,0x00,0x32,0x80,0x24,0x40,0x08,0x20};
const u8g_fntpgm_uint8_t fontpage_279_190_190[45] U8G_FONT_SECTION("fontpage_279_190_190") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0x24,0x80,0x04,0x80,0x08,0xe0,0xe0,
0x00,0x2f,0xc0,0x24,0x40,0x22,0x80,0x31,0x00,0x22,0x80,0x1c,0x60};
const u8g_fntpgm_uint8_t fontpage_279_213_213[45] U8G_FONT_SECTION("fontpage_279_213_213") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x40,0x21,0x20,0x1f,0xe0,0x01,0x00,0xef,
0x00,0x25,0x00,0x25,0x00,0x24,0xa0,0x26,0xa0,0x38,0x60,0x20,0x20};
const u8g_fntpgm_uint8_t fontpage_279_239_239[45] U8G_FONT_SECTION("fontpage_279_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x04,0x40,0x07,0xc0,0xe0,
0x00,0x27,0xc0,0x21,0x00,0x2f,0xe0,0x32,0x80,0x24,0x40,0x08,0x20};
const u8g_fntpgm_uint8_t fontpage_279_247_247[45] U8G_FONT_SECTION("fontpage_279_247_247") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x21,0x00,0x07,0xc0,0xe1,
0x00,0x2f,0xe0,0x24,0x40,0x27,0xc0,0x24,0x40,0x37,0xc0,0x24,0x40};
const u8g_fntpgm_uint8_t fontpage_280_131_131[45] U8G_FONT_SECTION("fontpage_280_131_131") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x29,0x20,0x0b,0xa0,0xe9,0x20,0x2f,
0xe0,0x28,0x20,0x2b,0xa0,0x2a,0xa0,0x3b,0xa0,0x28,0x20,0x10,0xe0};
const u8g_fntpgm_uint8_t fontpage_282_165_165[45] U8G_FONT_SECTION("fontpage_282_165_165") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x89,0x00,0xa9,0xe0,0xa9,0x40,0xab,
0x40,0xad,0x40,0xa9,0x40,0x21,0x40,0x50,0x80,0x49,0x40,0x8a,0x20};
const u8g_fntpgm_uint8_t fontpage_286_244_244[45] U8G_FONT_SECTION("fontpage_286_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xf8,0x80,0x47,0xe0,0x64,0xa0,0xa4,
0xa0,0xfc,0xa0,0x27,0xe0,0x3c,0xa0,0xe4,0xa0,0x27,0xe0,0x24,0x20};
const u8g_fntpgm_uint8_t fontpage_286_253_253[45] U8G_FONT_SECTION("fontpage_286_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x40,0x11,0x20,0xff,0xe0,0x21,
0x00,0xfd,0x20,0x51,0x40,0x7c,0x80,0x10,0xa0,0xfd,0x60,0x12,0x20};
const u8g_fntpgm_uint8_t fontpage_287_145_145[45] U8G_FONT_SECTION("fontpage_287_145_145") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0xfa,0x40,0x43,0xc0,0x60,0x00,0xa7,
0xe0,0xfa,0x40,0x23,0x40,0x3a,0xc0,0xe2,0x60,0x2f,0xc0,0x20,0x40};
const u8g_fntpgm_uint8_t fontpage_287_147_147[45] U8G_FONT_SECTION("fontpage_287_147_147") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x42,0x80,0xf4,0x40,0x4b,0xa0,0xa0,
0x00,0xfe,0x20,0x2a,0xa0,0x3e,0xa0,0xea,0xa0,0x2e,0xa0,0x2a,0x60};
const u8g_fntpgm_uint8_t fontpage_287_185_185[45] U8G_FONT_SECTION("fontpage_287_185_185") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x2f,0xe0,0x01,0x20,0xe1,
0x20,0x21,0x20,0x22,0x20,0x24,0x20,0x28,0xc0,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_287_208_209[73] U8G_FONT_SECTION("fontpage_287_208_209") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x20,0x00,0x20,0x00,0x0f,0xe0,0xe2,
0x00,0x22,0x80,0x24,0x40,0x2f,0xa0,0x24,0x20,0x50,0x00,0x8f,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x24,0x00,0x07,0xe0,0xe4,0x80,0x24,0x80,0x24,
0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_287_212_212[45] U8G_FONT_SECTION("fontpage_287_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xe0,0xe6,
0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_287_216_216[45] U8G_FONT_SECTION("fontpage_287_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x20,0x80,0x21,0x00,0x01,0x00,0xe3,
0x40,0x25,0x20,0x29,0x20,0x21,0x00,0x21,0x00,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_287_219_219[45] U8G_FONT_SECTION("fontpage_287_219_219") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x24,0x80,0x2f,0xc0,0x04,0x80,0xe4,
0x80,0x3f,0xe0,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x80,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_128_128[45] U8G_FONT_SECTION("fontpage_288_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x8f,0xc0,0x48,0x40,0x4f,0xc0,0x08,0x40,0xcf,
0xc0,0x48,0x00,0x4b,0x40,0x48,0x80,0x4e,0x40,0xb0,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_137_137[45] U8G_FONT_SECTION("fontpage_288_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x45,0x00,0x25,0x00,0x27,0xc0,0x09,0x00,0xef,
0xe0,0x22,0x80,0x22,0xa0,0x24,0xa0,0x28,0x60,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_159_159[45] U8G_FONT_SECTION("fontpage_288_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x3f,0xe0,0x21,0x00,0x0f,0xe0,0xe9,
0x20,0x2f,0xe0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_289_232_232[45] U8G_FONT_SECTION("fontpage_289_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x20,0x45,0x20,0x29,0x40,0xff,
0x80,0x01,0x40,0x7d,0x20,0x45,0x20,0x45,0xa0,0x7d,0x40,0x45,0x00};
const u8g_fntpgm_uint8_t fontpage_291_202_202[45] U8G_FONT_SECTION("fontpage_291_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xc0,0xe2,0x80,0xa9,0x00,0x72,0x80,0xfd,
0x60,0x31,0x00,0x6f,0xc0,0xa1,0x00,0xaf,0xe0,0x21,0x00,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_291_205_205[45] U8G_FONT_SECTION("fontpage_291_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x24,0x80,0x3f,
0x80,0x24,0x80,0x3f,0x80,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_291_207_207[45] U8G_FONT_SECTION("fontpage_291_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,
0xe0,0x24,0x80,0x3f,0x80,0x24,0x80,0x7f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_297_136_136[45] U8G_FONT_SECTION("fontpage_297_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x40,0x80,0x78,0x80,0x80,0x80,0xfb,
0xe0,0x20,0x80,0xf8,0x80,0x20,0x80,0x28,0x80,0x30,0x80,0x20,0x80};
const u8g_fntpgm_uint8_t fontpage_297_174_174[45] U8G_FONT_SECTION("fontpage_297_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x47,0xc0,0x79,0x40,0x81,0x40,0xf9,
0x40,0x27,0xc0,0xfa,0x40,0x22,0x40,0x2a,0x40,0x32,0x40,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_298_153_153[45] U8G_FONT_SECTION("fontpage_298_153_153") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x80,0x4f,0xe0,0x72,0x80,0x82,0x80,0xef,
0xe0,0x40,0x00,0xf7,0xc0,0x44,0x40,0x47,0xc0,0x54,0x40,0x67,0xc0};
const u8g_fntpgm_uint8_t fontpage_298_174_174[45] U8G_FONT_SECTION("fontpage_298_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x5c,0x80,0x47,0xe0,0x68,0xa0,0x8b,0xe0,0xfc,
0xa0,0x47,0xe0,0xe4,0x80,0x57,0xe0,0x48,0x80,0x6c,0x80,0x53,0xe0};
const u8g_fntpgm_uint8_t fontpage_298_255_255[45] U8G_FONT_SECTION("fontpage_298_255_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x21,0x00,0x22,0x00,0x24,0x00,0x28,0x00,0x30,
0x00,0xff,0xc0,0x28,0x00,0x24,0x00,0x22,0x00,0x29,0x00,0x30,0xc0};
const u8g_fntpgm_uint8_t fontpage_299_237_237[45] U8G_FONT_SECTION("fontpage_299_237_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xe0,0x20,0x20,0x82,0x20,0x82,0x20,0xbf,
0xa0,0x86,0x20,0x8a,0x20,0x92,0x20,0xa2,0x20,0x86,0x20,0x80,0xe0};
const u8g_fntpgm_uint8_t fontpage_299_244_244[45] U8G_FONT_SECTION("fontpage_299_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x4f,0xc0,0x20,0x40,0x80,0x40,0x9e,0x40,0x92,
0x40,0x9e,0x40,0x92,0x40,0x92,0x40,0x9e,0x40,0x80,0x40,0x81,0xc0};
const u8g_fntpgm_uint8_t fontpage_300_205_205[45] U8G_FONT_SECTION("fontpage_300_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf2,0x00,0x93,0xe0,0xa6,0x40,0xc1,0x80,0xa6,
0x60,0x91,0x00,0x97,0xe0,0xd5,0x00,0xaf,0xe0,0x81,0x00,0x81,0x00};
const u8g_fntpgm_uint8_t fontpage_300_228_228[45] U8G_FONT_SECTION("fontpage_300_228_228") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xcb,0xa0,0xa1,
0x00,0x9f,0xe0,0x91,0x00,0xe5,0x40,0x89,0x20,0x91,0x20,0x83,0x00};
const u8g_fntpgm_uint8_t fontpage_302_210_210[45] U8G_FONT_SECTION("fontpage_302_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04,
0x00,0xff,0xe0,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80};
const u8g_fntpgm_uint8_t fontpage_302_222_222[45] U8G_FONT_SECTION("fontpage_302_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,
0x00,0x7b,0xc0,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,0x00};
const u8g_fntpgm_uint8_t fontpage_304_249_249[45] U8G_FONT_SECTION("fontpage_304_249_249") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf9,0x00,0x27,0xe0,0x24,0x20,0x25,
0x20,0x25,0x20,0x25,0x20,0x3d,0x20,0xc1,0x80,0x02,0x40,0x0c,0x20};
const u8g_fntpgm_uint8_t fontpage_305_132_132[45] U8G_FONT_SECTION("fontpage_305_132_132") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x10,0x80,0x63,0xe0,0x22,0x20,0xfa,
0xa0,0x2a,0xa0,0x22,0xa0,0x22,0xa0,0x22,0xa0,0x21,0x40,0x66,0x20};
const u8g_fntpgm_uint8_t fontpage_305_157_157[45] U8G_FONT_SECTION("fontpage_305_157_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xe0,0xfc,0x80,0x87,0xe0,0x7a,0x20,0xca,
0xa0,0x32,0xa0,0x4a,0xa0,0xfe,0xa0,0x4a,0xa0,0x79,0x40,0x4e,0x20};
const u8g_fntpgm_uint8_t fontpage_305_206_206[45] U8G_FONT_SECTION("fontpage_305_206_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0x80,0x40,0x80,0x42,0x80,0x52,0x80,0x4c,
0x80,0x44,0x80,0x4c,0x80,0x52,0x80,0x62,0xa0,0x80,0x60,0x80,0x20};
const u8g_fntpgm_uint8_t fontpage_306_241_241[45] U8G_FONT_SECTION("fontpage_306_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x00,0x47,0xc0,0x7c,0x40,0x97,0x40,0xad,
0x40,0x25,0x40,0x27,0x40,0x24,0xc0,0x2c,0x20,0x34,0x20,0x23,0xe0};
const u8g_fntpgm_uint8_t fontpage_308_241_241[45] U8G_FONT_SECTION("fontpage_308_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf3,0xe0,0x12,0x00,0x52,0x20,0x53,0x20,0x52,
0xa0,0x7a,0x40,0x0a,0x40,0xea,0xa0,0x0b,0x20,0x0a,0x00,0x33,0xe0};
const u8g_fntpgm_uint8_t fontpage_309_216_216[45] U8G_FONT_SECTION("fontpage_309_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x1f,0x00,0x11,
0x00,0x7f,0xc0,0x40,0x40,0x5f,0x40,0x51,0x40,0x5f,0x40,0x40,0xc0};
const u8g_fntpgm_uint8_t fontpage_317_196_196[45] U8G_FONT_SECTION("fontpage_317_196_196") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7f,0xc0,0x11,0x00,0xff,0xe0,0x04,
0x00,0x3f,0x80,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80,0x60,0xc0};
const u8g_fntpgm_uint8_t fontpage_510_154_154[30] U8G_FONT_SECTION("fontpage_510_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00,
0x00,0x02,0x07,0x07,0x0c,0x06,0x01,0xc0,0xc0,0x00,0x00,0x00,0xc0,0xc0};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(69, 191, 191, fontpage_69_191_191), // '⊿' -- '⊿'
FONTDATA_ITEM(156, 128, 128, fontpage_156_128_128), // '一' -- '一'
FONTDATA_ITEM(156, 137, 139, fontpage_156_137_139), // '三' -- '下'
FONTDATA_ITEM(156, 157, 157, fontpage_156_157_157), // '丝' -- '丝'
FONTDATA_ITEM(156, 170, 170, fontpage_156_170_170), // '个' -- '个'
FONTDATA_ITEM(156, 173, 173, fontpage_156_173_173), // '中' -- '中'
FONTDATA_ITEM(156, 187, 187, fontpage_156_187_187), // '主' -- '主'
FONTDATA_ITEM(156, 203, 203, fontpage_156_203_203), // '之' -- '之'
FONTDATA_ITEM(157, 134, 134, fontpage_157_134_134), // '了' -- '了'
FONTDATA_ITEM(157, 142, 142, fontpage_157_142_142), // '于' -- '于'
FONTDATA_ITEM(157, 174, 174, fontpage_157_174_174), // '亮' -- '亮'
FONTDATA_ITEM(157, 206, 206, fontpage_157_206_206), // '从' -- '从'
FONTDATA_ITEM(157, 228, 228, fontpage_157_228_228), // '令' -- '令'
FONTDATA_ITEM(157, 253, 253, fontpage_157_253_253), // '份' -- '份'
FONTDATA_ITEM(158, 145, 145, fontpage_158_145_145), // '休' -- '休'
FONTDATA_ITEM(158, 205, 206, fontpage_158_205_206), // '位' -- '低'
FONTDATA_ITEM(158, 220, 220, fontpage_158_220_220), // '作' -- '作'
FONTDATA_ITEM(159, 155, 155, fontpage_159_155_155), // '供' -- '供'
FONTDATA_ITEM(159, 221, 221, fontpage_159_221_221), // '保' -- '保'
FONTDATA_ITEM(159, 225, 225, fontpage_159_225_225), // '信' -- '信'
FONTDATA_ITEM(160, 188, 188, fontpage_160_188_188), // '值' -- '值'
FONTDATA_ITEM(160, 207, 207, fontpage_160_207_207), // '偏' -- '偏'
FONTDATA_ITEM(160, 220, 220, fontpage_160_220_220), // '停' -- '停'
FONTDATA_ITEM(161, 168, 168, fontpage_161_168_168), // '储' -- '储'
FONTDATA_ITEM(162, 197, 197, fontpage_162_197_197), // '充' -- '充'
FONTDATA_ITEM(162, 200, 200, fontpage_162_200_200), // '先' -- '先'
FONTDATA_ITEM(162, 229, 229, fontpage_162_229_229), // '入' -- '入'
FONTDATA_ITEM(162, 232, 232, fontpage_162_232_232), // '全' -- '全'
FONTDATA_ITEM(162, 241, 241, fontpage_162_241_241), // '共' -- '共'
FONTDATA_ITEM(162, 243, 243, fontpage_162_243_243), // '关' -- '关'
FONTDATA_ITEM(162, 247, 247, fontpage_162_247_247), // '具' -- '具'
FONTDATA_ITEM(163, 183, 183, fontpage_163_183_183), // '冷' -- '冷'
FONTDATA_ITEM(163, 198, 198, fontpage_163_198_198), // '准' -- '准'
FONTDATA_ITEM(163, 201, 201, fontpage_163_201_201), // '凉' -- '凉'
FONTDATA_ITEM(163, 250, 251, fontpage_163_250_251), // '出' -- '击'
FONTDATA_ITEM(164, 134, 134, fontpage_164_134_134), // '分' -- '分'
FONTDATA_ITEM(164, 155, 155, fontpage_164_155_155), // '创' -- '创'
FONTDATA_ITEM(164, 157, 157, fontpage_164_157_157), // '初' -- '初'
FONTDATA_ITEM(164, 176, 176, fontpage_164_176_176), // '到' -- '到'
FONTDATA_ITEM(164, 182, 183, fontpage_164_182_183), // '制' -- '刷'
FONTDATA_ITEM(165, 155, 155, fontpage_165_155_155), // '力' -- '力'
FONTDATA_ITEM(165, 160, 160, fontpage_165_160_160), // '加' -- '加'
FONTDATA_ITEM(165, 168, 168, fontpage_165_168_168), // '动' -- '动'
FONTDATA_ITEM(166, 150, 150, fontpage_166_150_150), // '化' -- '化'
FONTDATA_ITEM(166, 202, 202, fontpage_166_202_202), // '半' -- '半'
FONTDATA_ITEM(166, 207, 207, fontpage_166_207_207), // '协' -- '协'
FONTDATA_ITEM(166, 213, 213, fontpage_166_213_213), // '单' -- '单'
FONTDATA_ITEM(166, 225, 225, fontpage_166_225_225), // '卡' -- '卡'
FONTDATA_ITEM(166, 240, 240, fontpage_166_240_240), // '印' -- '印'
FONTDATA_ITEM(166, 248, 248, fontpage_166_248_248), // '卸' -- '卸'
FONTDATA_ITEM(167, 159, 159, fontpage_167_159_159), // '原' -- '原'
FONTDATA_ITEM(167, 204, 204, fontpage_167_204_204), // '双' -- '双'
FONTDATA_ITEM(167, 214, 214, fontpage_167_214_214), // '取' -- '取'
FONTDATA_ITEM(167, 216, 216, fontpage_167_216_216), // '变' -- '变'
FONTDATA_ITEM(167, 240, 240, fontpage_167_240_240), // '台' -- '台'
FONTDATA_ITEM(168, 136, 136, fontpage_168_136_136), // '合' -- '合'
FONTDATA_ITEM(168, 142, 142, fontpage_168_142_142), // '后' -- '后'
FONTDATA_ITEM(168, 175, 175, fontpage_168_175_175), // '启' -- '启'
FONTDATA_ITEM(168, 253, 253, fontpage_168_253_253), // '命' -- '命'
FONTDATA_ITEM(169, 140, 140, fontpage_169_140_140), // '和' -- '和'
FONTDATA_ITEM(171, 183, 183, fontpage_171_183_183), // '喷' -- '喷'
FONTDATA_ITEM(172, 180, 180, fontpage_172_180_180), // '嘴' -- '嘴'
FONTDATA_ITEM(173, 222, 222, fontpage_173_222_222), // '回' -- '回'
FONTDATA_ITEM(173, 224, 224, fontpage_173_224_224), // '因' -- '因'
FONTDATA_ITEM(173, 254, 254, fontpage_173_254_254), // '图' -- '图'
FONTDATA_ITEM(174, 168, 168, fontpage_174_168_168), // '在' -- '在'
FONTDATA_ITEM(174, 215, 215, fontpage_174_215_215), // '块' -- '块'
FONTDATA_ITEM(175, 139, 139, fontpage_175_139_139), // '型' -- '型'
FONTDATA_ITEM(175, 171, 171, fontpage_175_171_171), // '垫' -- '垫'
FONTDATA_ITEM(176, 235, 235, fontpage_176_235_235), // '填' -- '填'
FONTDATA_ITEM(177, 243, 243, fontpage_177_243_243), // '壳' -- '壳'
FONTDATA_ITEM(178, 135, 135, fontpage_178_135_135), // '备' -- '备'
FONTDATA_ITEM(178, 141, 141, fontpage_178_141_141), // '复' -- '复'
FONTDATA_ITEM(178, 150, 150, fontpage_178_150_150), // '外' -- '外'
FONTDATA_ITEM(178, 154, 154, fontpage_178_154_154), // '多' -- '多'
FONTDATA_ITEM(178, 167, 167, fontpage_178_167_167), // '大' -- '大'
FONTDATA_ITEM(178, 169, 170, fontpage_178_169_170), // '天' -- '太'
FONTDATA_ITEM(178, 177, 177, fontpage_178_177_177), // '失' -- '失'
FONTDATA_ITEM(179, 203, 203, fontpage_179_203_203), // '始' -- '始'
FONTDATA_ITEM(182, 208, 208, fontpage_182_208_208), // '子' -- '子'
FONTDATA_ITEM(182, 216, 216, fontpage_182_216_216), // '存' -- '存'
FONTDATA_ITEM(183, 137, 137, fontpage_183_137_137), // '安' -- '安'
FONTDATA_ITEM(183, 140, 140, fontpage_183_140_140), // '完' -- '完'
FONTDATA_ITEM(183, 154, 154, fontpage_183_154_154), // '定' -- '定'
FONTDATA_ITEM(183, 162, 162, fontpage_183_162_162), // '客' -- '客'
FONTDATA_ITEM(183, 185, 185, fontpage_183_185_185), // '容' -- '容'
FONTDATA_ITEM(183, 249, 249, fontpage_183_249_249), // '对' -- '对'
FONTDATA_ITEM(184, 143, 143, fontpage_184_143_143), // '小' -- '小'
FONTDATA_ITEM(184, 177, 177, fontpage_184_177_177), // '就' -- '就'
FONTDATA_ITEM(184, 207, 207, fontpage_184_207_207), // '屏' -- '屏'
FONTDATA_ITEM(187, 229, 229, fontpage_187_229_229), // '工' -- '工'
FONTDATA_ITEM(187, 242, 242, fontpage_187_242_242), // '已' -- '已'
FONTDATA_ITEM(188, 243, 243, fontpage_188_243_243), // '平' -- '平'
FONTDATA_ITEM(188, 246, 246, fontpage_188_246_246), // '并' -- '并'
FONTDATA_ITEM(189, 138, 138, fontpage_189_138_138), // '床' -- '床'
FONTDATA_ITEM(189, 148, 148, fontpage_189_148_148), // '应' -- '应'
FONTDATA_ITEM(189, 159, 159, fontpage_189_159_159), // '废' -- '废'
FONTDATA_ITEM(189, 166, 166, fontpage_189_166_166), // '度' -- '度'
FONTDATA_ITEM(190, 128, 128, fontpage_190_128_128), // '开' -- '开'
FONTDATA_ITEM(190, 210, 210, fontpage_190_210_210), // '归' -- '归'
FONTDATA_ITEM(191, 132, 133, fontpage_191_132_133), // '径' -- '待'
FONTDATA_ITEM(191, 174, 174, fontpage_191_174_174), // '微' -- '微'
FONTDATA_ITEM(191, 195, 195, fontpage_191_195_195), // '心' -- '心'
FONTDATA_ITEM(192, 167, 167, fontpage_192_167_167), // '性' -- '性'
FONTDATA_ITEM(192, 187, 187, fontpage_192_187_187), // '总' -- '总'
FONTDATA_ITEM(192, 226, 226, fontpage_192_226_226), // '恢' -- '恢'
FONTDATA_ITEM(192, 239, 239, fontpage_192_239_239), // '息' -- '息'
FONTDATA_ITEM(196, 144, 144, fontpage_196_144_144), // '成' -- '成'
FONTDATA_ITEM(196, 183, 183, fontpage_196_183_183), // '户' -- '户'
FONTDATA_ITEM(196, 192, 192, fontpage_196_192_192), // '所' -- '所'
FONTDATA_ITEM(196, 199, 199, fontpage_196_199_199), // '扇' -- '扇'
FONTDATA_ITEM(196, 203, 203, fontpage_196_203_203), // '手' -- '手'
FONTDATA_ITEM(196, 211, 211, fontpage_196_211_211), // '打' -- '打'
FONTDATA_ITEM(196, 231, 231, fontpage_196_231_231), // '执' -- '执'
FONTDATA_ITEM(196, 249, 249, fontpage_196_249_249), // '批' -- '批'
FONTDATA_ITEM(197, 150, 150, fontpage_197_150_150), // '抖' -- '抖'
FONTDATA_ITEM(197, 189, 189, fontpage_197_189_189), // '抽' -- '抽'
FONTDATA_ITEM(197, 212, 212, fontpage_197_212_212), // '拔' -- '拔'
FONTDATA_ITEM(197, 233, 233, fontpage_197_233_233), // '择' -- '择'
FONTDATA_ITEM(198, 137, 137, fontpage_198_137_137), // '按' -- '按'
FONTDATA_ITEM(198, 161, 161, fontpage_198_161_161), // '挡' -- '挡'
FONTDATA_ITEM(198, 164, 164, fontpage_198_164_164), // '挤' -- '挤'
FONTDATA_ITEM(198, 226, 226, fontpage_198_226_226), // '换' -- '换'
FONTDATA_ITEM(199, 137, 137, fontpage_199_137_137), // '掉' -- '掉'
FONTDATA_ITEM(199, 162, 162, fontpage_199_162_162), // '探' -- '探'
FONTDATA_ITEM(199, 167, 167, fontpage_199_167_167), // '控' -- '控'
FONTDATA_ITEM(199, 210, 210, fontpage_199_210_210), // '插' -- '插'
FONTDATA_ITEM(202, 182, 182, fontpage_202_182_182), // '收' -- '收'
FONTDATA_ITEM(202, 190, 190, fontpage_202_190_190), // '放' -- '放'
FONTDATA_ITEM(202, 240, 240, fontpage_202_240_240), // '数' -- '数'
FONTDATA_ITEM(202, 244, 244, fontpage_202_244_244), // '整' -- '整'
FONTDATA_ITEM(203, 153, 153, fontpage_203_153_153), // '料' -- '料'
FONTDATA_ITEM(203, 156, 156, fontpage_203_156_156), // '斜' -- '斜'
FONTDATA_ITEM(203, 176, 176, fontpage_203_176_176), // '新' -- '新'
FONTDATA_ITEM(203, 224, 224, fontpage_203_224_224), // '无' -- '无'
FONTDATA_ITEM(203, 246, 246, fontpage_203_246_246), // '时' -- '时'
FONTDATA_ITEM(204, 142, 142, fontpage_204_142_142), // '明' -- '明'
FONTDATA_ITEM(205, 130, 130, fontpage_205_130_130), // '暂' -- '暂'
FONTDATA_ITEM(205, 171, 171, fontpage_205_171_171), // '暫' -- '暫'
FONTDATA_ITEM(205, 244, 244, fontpage_205_244_244), // '更' -- '更'
FONTDATA_ITEM(206, 128, 128, fontpage_206_128_128), // '最' -- '最'
FONTDATA_ITEM(206, 137, 137, fontpage_206_137_137), // '有' -- '有'
FONTDATA_ITEM(206, 186, 186, fontpage_206_186_186), // '机' -- '机'
FONTDATA_ITEM(206, 192, 192, fontpage_206_192_192), // '杀' -- '杀'
FONTDATA_ITEM(206, 225, 225, fontpage_206_225_225), // '条' -- '条'
FONTDATA_ITEM(206, 229, 229, fontpage_206_229_229), // '来' -- '来'
FONTDATA_ITEM(206, 255, 255, fontpage_206_255_255), // '板' -- '板'
FONTDATA_ITEM(207, 241, 241, fontpage_207_241_241), // '柱' -- '柱'
FONTDATA_ITEM(208, 161, 161, fontpage_208_161_161), // '校' -- '校'
FONTDATA_ITEM(208, 188, 188, fontpage_208_188_188), // '格' -- '格'
FONTDATA_ITEM(209, 192, 192, fontpage_209_192_192), // '检' -- '检'
FONTDATA_ITEM(211, 253, 253, fontpage_211_253_253), // '槽' -- '槽'
FONTDATA_ITEM(212, 217, 217, fontpage_212_217_217), // '橙' -- '橙'
FONTDATA_ITEM(214, 226, 226, fontpage_214_226_226), // '止' -- '止'
FONTDATA_ITEM(214, 229, 229, fontpage_214_229_229), // '步' -- '步'
FONTDATA_ITEM(215, 212, 212, fontpage_215_212_212), // '比' -- '比'
FONTDATA_ITEM(217, 161, 161, fontpage_217_161_161), // '没' -- '没'
FONTDATA_ITEM(217, 226, 226, fontpage_217_226_226), // '波' -- '波'
FONTDATA_ITEM(218, 187, 187, fontpage_218_187_187), // '活' -- '活'
FONTDATA_ITEM(218, 203, 203, fontpage_218_203_203), // '测' -- '测'
FONTDATA_ITEM(219, 136, 136, fontpage_219_136_136), // '消' -- '消'
FONTDATA_ITEM(219, 225, 225, fontpage_219_225_225), // '淡' -- '淡'
FONTDATA_ITEM(220, 133, 133, fontpage_220_133_133), // '清' -- '清'
FONTDATA_ITEM(220, 169, 169, fontpage_220_169_169), // '温' -- '温'
FONTDATA_ITEM(221, 144, 144, fontpage_221_144_144), // '源' -- '源'
FONTDATA_ITEM(223, 192, 192, fontpage_223_192_192), // '激' -- '激'
FONTDATA_ITEM(224, 237, 237, fontpage_224_237_237), // '灭' -- '灭'
FONTDATA_ITEM(224, 239, 239, fontpage_224_239_239), // '灯' -- '灯'
FONTDATA_ITEM(225, 185, 185, fontpage_225_185_185), // '点' -- '点'
FONTDATA_ITEM(225, 237, 237, fontpage_225_237_237), // '热' -- '热'
FONTDATA_ITEM(228, 199, 199, fontpage_228_199_199), // '片' -- '片'
FONTDATA_ITEM(228, 249, 249, fontpage_228_249_249), // '特' -- '特'
FONTDATA_ITEM(231, 135, 135, fontpage_231_135_135), // '率' -- '率'
FONTDATA_ITEM(234, 168, 168, fontpage_234_168_168), // '用' -- '用'
FONTDATA_ITEM(234, 181, 181, fontpage_234_181_181), // '电' -- '电'
FONTDATA_ITEM(236, 253, 253, fontpage_236_253_253), // '白' -- '白'
FONTDATA_ITEM(237, 132, 132, fontpage_237_132_132), // '的' -- '的'
FONTDATA_ITEM(237, 244, 244, fontpage_237_244_244), // '直' -- '直'
FONTDATA_ITEM(238, 129, 129, fontpage_238_129_129), // '省' -- '省'
FONTDATA_ITEM(238, 160, 160, fontpage_238_160_160), // '眠' -- '眠'
FONTDATA_ITEM(243, 239, 239, fontpage_243_239_239), // '积' -- '积'
FONTDATA_ITEM(243, 251, 251, fontpage_243_251_251), // '移' -- '移'
FONTDATA_ITEM(245, 239, 239, fontpage_245_239_239), // '端' -- '端'
FONTDATA_ITEM(246, 201, 201, fontpage_246_201_201), // '等' -- '等'
FONTDATA_ITEM(247, 161, 161, fontpage_247_161_161), // '管' -- '管'
FONTDATA_ITEM(248, 251, 251, fontpage_248_251_251), // '类' -- '类'
FONTDATA_ITEM(250, 171, 171, fontpage_250_171_171), // '紫' -- '紫'
FONTDATA_ITEM(253, 162, 162, fontpage_253_162_162), // '红' -- '红'
FONTDATA_ITEM(253, 191, 191, fontpage_253_191_191), // '线' -- '线'
FONTDATA_ITEM(253, 198, 198, fontpage_253_198_198), // '细' -- '细'
FONTDATA_ITEM(253, 200, 200, fontpage_253_200_200), // '终' -- '终'
FONTDATA_ITEM(253, 223, 223, fontpage_253_223_223), // '统' -- '统'
FONTDATA_ITEM(253, 231, 231, fontpage_253_231_231), // '继' -- '继'
FONTDATA_ITEM(253, 234, 234, fontpage_253_234_234), // '绪' -- '绪'
FONTDATA_ITEM(253, 237, 237, fontpage_253_237_237), // '续' -- '续'
FONTDATA_ITEM(253, 255, 255, fontpage_253_255_255), // '绿' -- '绿'
FONTDATA_ITEM(254, 150, 150, fontpage_254_150_150), // '编' -- '编'
FONTDATA_ITEM(254, 186, 186, fontpage_254_186_186), // '缺' -- '缺'
FONTDATA_ITEM(254, 209, 209, fontpage_254_209_209), // '网' -- '网'
FONTDATA_ITEM(254, 238, 238, fontpage_254_238_238), // '置' -- '置'
FONTDATA_ITEM(254, 242, 242, fontpage_254_242_242), // '署' -- '署'
FONTDATA_ITEM(256, 234, 234, fontpage_256_234_234), // '聪' -- '聪'
FONTDATA_ITEM(259, 234, 234, fontpage_259_234_234), // '自' -- '自'
FONTDATA_ITEM(263, 220, 220, fontpage_263_220_220), // '菜' -- '菜'
FONTDATA_ITEM(265, 221, 221, fontpage_265_221_221), // '蓝' -- '蓝'
FONTDATA_ITEM(272, 204, 204, fontpage_272_204_204), // '行' -- '行'
FONTDATA_ITEM(273, 171, 171, fontpage_273_171_171), // '被' -- '被'
FONTDATA_ITEM(273, 197, 197, fontpage_273_197_197), // '装' -- '装'
FONTDATA_ITEM(275, 210, 210, fontpage_275_210_210), // '角' -- '角'
FONTDATA_ITEM(279, 161, 161, fontpage_279_161_161), // '计' -- '计'
FONTDATA_ITEM(279, 174, 174, fontpage_279_174_174), // '议' -- '议'
FONTDATA_ITEM(279, 190, 190, fontpage_279_190_190), // '设' -- '设'
FONTDATA_ITEM(279, 213, 213, fontpage_279_213_213), // '试' -- '试'
FONTDATA_ITEM(279, 239, 239, fontpage_279_239_239), // '误' -- '误'
FONTDATA_ITEM(279, 247, 247, fontpage_279_247_247), // '请' -- '请'
FONTDATA_ITEM(280, 131, 131, fontpage_280_131_131), // '调' -- '调'
FONTDATA_ITEM(282, 165, 165, fontpage_282_165_165), // '败' -- '败'
FONTDATA_ITEM(286, 244, 244, fontpage_286_244_244), // '轴' -- '轴'
FONTDATA_ITEM(286, 253, 253, fontpage_286_253_253), // '载' -- '载'
FONTDATA_ITEM(287, 145, 145, fontpage_287_145_145), // '辑' -- '辑'
FONTDATA_ITEM(287, 147, 147, fontpage_287_147_147), // '输' -- '输'
FONTDATA_ITEM(287, 185, 185, fontpage_287_185_185), // '边' -- '边'
FONTDATA_ITEM(287, 208, 209, fontpage_287_208_209), // '运' -- '近'
FONTDATA_ITEM(287, 212, 212, fontpage_287_212_212), // '返' -- '返'
FONTDATA_ITEM(287, 216, 216, fontpage_287_216_216), // '还' -- '还'
FONTDATA_ITEM(287, 219, 219, fontpage_287_219_219), // '进' -- '进'
FONTDATA_ITEM(288, 128, 128, fontpage_288_128_128), // '退' -- '退'
FONTDATA_ITEM(288, 137, 137, fontpage_288_137_137), // '选' -- '选'
FONTDATA_ITEM(288, 159, 159, fontpage_288_159_159), // '速' -- '速'
FONTDATA_ITEM(289, 232, 232, fontpage_289_232_232), // '部' -- '部'
FONTDATA_ITEM(291, 202, 202, fontpage_291_202_202), // '释' -- '释'
FONTDATA_ITEM(291, 205, 205, fontpage_291_205_205), // '重' -- '重'
FONTDATA_ITEM(291, 207, 207, fontpage_291_207_207), // '量' -- '量'
FONTDATA_ITEM(297, 136, 136, fontpage_297_136_136), // '针' -- '针'
FONTDATA_ITEM(297, 174, 174, fontpage_297_174_174), // '钮' -- '钮'
FONTDATA_ITEM(298, 153, 153, fontpage_298_153_153), // '错' -- '错'
FONTDATA_ITEM(298, 174, 174, fontpage_298_174_174), // '键' -- '键'
FONTDATA_ITEM(298, 255, 255, fontpage_298_255_255), // '长' -- '长'
FONTDATA_ITEM(299, 237, 237, fontpage_299_237_237), // '闭' -- '闭'
FONTDATA_ITEM(299, 244, 244, fontpage_299_244_244), // '间' -- '间'
FONTDATA_ITEM(300, 205, 205, fontpage_300_205_205), // '降' -- '降'
FONTDATA_ITEM(300, 228, 228, fontpage_300_228_228), // '除' -- '除'
FONTDATA_ITEM(302, 210, 210, fontpage_302_210_210), // '青' -- '青'
FONTDATA_ITEM(302, 222, 222, fontpage_302_222_222), // '非' -- '非'
FONTDATA_ITEM(304, 249, 249, fontpage_304_249_249), // '项' -- '项'
FONTDATA_ITEM(305, 132, 132, fontpage_305_132_132), // '预' -- '预'
FONTDATA_ITEM(305, 157, 157, fontpage_305_157_157), // '额' -- '额'
FONTDATA_ITEM(305, 206, 206, fontpage_305_206_206), // '风' -- '风'
FONTDATA_ITEM(306, 241, 241, fontpage_306_241_241), // '饱' -- '饱'
FONTDATA_ITEM(308, 241, 241, fontpage_308_241_241), // '驱' -- '驱'
FONTDATA_ITEM(309, 216, 216, fontpage_309_216_216), // '高' -- '高'
FONTDATA_ITEM(317, 196, 196, fontpage_317_196_196), // '黄' -- '黄'
FONTDATA_ITEM(510, 154, 154, fontpage_510_154_154), // '' -- ''
};

View file

@ -0,0 +1,1367 @@
/* Generated by buildroot/share/fonts/uxggenpages.sh */
/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */
/* Please turn to the tools call this script to change the contents! */
#include <u8g.h>
const u8g_fntpgm_uint8_t fontpage_69_191_191[41] U8G_FONT_SECTION("fontpage_69_191_191") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0x00,0x00,
0x00,0x09,0x09,0x12,0x0c,0x01,0x01,0x00,0x80,0x01,0x80,0x02,0x80,0x04,0x80,0x08,
0x80,0x10,0x80,0x20,0x80,0x40,0x80,0xff,0x80};
const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00,
0x00,0x0b,0x02,0x04,0x0c,0x00,0x04,0x00,0x40,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156_137_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x0b,0x0b,0x16,0x0c,0x00,
0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x04,0x00,0x04,
0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04,
0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04,
0x00};
const u8g_fntpgm_uint8_t fontpage_156_166_166[45] U8G_FONT_SECTION("fontpage_156_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0xff,0xe0,0x0a,0x00,0x4a,
0x40,0x4a,0x40,0x2a,0x40,0x2a,0x80,0x0a,0x00,0x0a,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_170_170[45] U8G_FONT_SECTION("fontpage_156_170_170") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x49,
0x00,0x88,0xc0,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_156_173_173[45] U8G_FONT_SECTION("fontpage_156_173_173") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0x88,
0x80,0x88,0x80,0xff,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_156_187_187[45] U8G_FONT_SECTION("fontpage_156_187_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,
0x00,0x04,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_156_203_203[45] U8G_FONT_SECTION("fontpage_156_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0x7f,0xc0,0x00,0x80,0x01,
0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xe0};
const u8g_fntpgm_uint8_t fontpage_157_174_174[45] U8G_FONT_SECTION("fontpage_157_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x11,0x00,0x1f,0x00,0x00,
0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x00,0x21,0x20,0xc0,0xe0};
const u8g_fntpgm_uint8_t fontpage_157_228_228[45] U8G_FONT_SECTION("fontpage_157_228_228") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x0a,0x00,0x11,0x00,0x24,
0x80,0xc2,0x60,0x3f,0x80,0x01,0x00,0x0a,0x00,0x04,0x00,0x02,0x00};
const u8g_fntpgm_uint8_t fontpage_157_253_253[45] U8G_FONT_SECTION("fontpage_157_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68,
0x20,0xa7,0xc0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xc0};
const u8g_fntpgm_uint8_t fontpage_158_145_145[45] U8G_FONT_SECTION("fontpage_158_145_145") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x21,0x00,0x3f,0xe0,0x61,
0x00,0xa3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_158_205_206[73] U8G_FONT_SECTION("fontpage_158_205_206") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x20,0x00,0x2f,0xe0,0x60,
0x00,0xa4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x10,0xc0,0x1f,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xaf,0xe0,0x29,
0x00,0x29,0x20,0x2a,0xa0,0x2d,0x60,0x28,0xa0};
const u8g_fntpgm_uint8_t fontpage_158_220_220[45] U8G_FONT_SECTION("fontpage_158_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x14,0x00,0x27,0xe0,0x2a,0x00,0x72,
0x00,0xa3,0xc0,0x22,0x00,0x22,0x00,0x23,0xe0,0x22,0x00,0x22,0x00};
const u8g_fntpgm_uint8_t fontpage_159_134_134[45] U8G_FONT_SECTION("fontpage_159_134_134") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x24,0x80,0x24,
0x80,0x55,0x40,0x8e,0x20,0x15,0x00,0x24,0x80,0xc4,0x60,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_159_155_155[45] U8G_FONT_SECTION("fontpage_159_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x80,0x14,0x80,0x24,0x80,0x2f,0xe0,0x64,
0x80,0xa4,0x80,0x3f,0xe0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20};
const u8g_fntpgm_uint8_t fontpage_159_221_221[45] U8G_FONT_SECTION("fontpage_159_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x14,0x40,0x24,0x40,0x27,0xc0,0x61,
0x00,0xaf,0xe0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_159_225_225[45] U8G_FONT_SECTION("fontpage_159_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x2f,0xe0,0x20,0x00,0x67,
0xc0,0xa0,0x00,0x27,0xc0,0x20,0x00,0x27,0xc0,0x24,0x40,0x27,0xc0};
const u8g_fntpgm_uint8_t fontpage_160_139_139[45] U8G_FONT_SECTION("fontpage_160_139_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x29,0x20,0x29,0x20,0x2f,0xe0,0x69,
0x20,0xab,0xa0,0x2a,0xa0,0x2b,0xa0,0x28,0x20,0x2f,0xe0,0x28,0x20};
const u8g_fntpgm_uint8_t fontpage_160_188_188[45] U8G_FONT_SECTION("fontpage_160_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x1f,0xe0,0x22,0x00,0x27,0xc0,0x64,
0x40,0xa7,0xc0,0x24,0x40,0x27,0x40,0x25,0xc0,0x24,0x40,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_160_207_207[45] U8G_FONT_SECTION("fontpage_160_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x28,0x20,0x2f,0xe0,0x68,
0x00,0xaf,0xe0,0x2a,0xa0,0x2f,0xe0,0x2a,0xa0,0x3a,0xa0,0x28,0x60};
const u8g_fntpgm_uint8_t fontpage_160_220_220[45] U8G_FONT_SECTION("fontpage_160_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x20,0x00,0x4f,0xc0,0x48,
0x40,0xdf,0xe0,0x50,0x20,0x4f,0xc0,0x41,0x00,0x41,0x00,0x47,0x00};
const u8g_fntpgm_uint8_t fontpage_161_153_153[45] U8G_FONT_SECTION("fontpage_161_153_153") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x2f,0xc0,0x24,0x80,0x3f,0xe0,0x64,
0x00,0xaf,0xe0,0x29,0x20,0x3f,0xe0,0x29,0x20,0x2f,0xe0,0x29,0x20};
const u8g_fntpgm_uint8_t fontpage_161_179_179[45] U8G_FONT_SECTION("fontpage_161_179_179") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb3,0xb3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x2a,0x40,0x2f,0xc0,0x6a,
0x40,0xbf,0xc0,0x22,0x80,0x3f,0xe0,0x28,0x80,0x24,0x80,0x21,0x80};
const u8g_fntpgm_uint8_t fontpage_162_178_178[45] U8G_FONT_SECTION("fontpage_162_178_178") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x28,0x80,0x3d,0xe0,0x40,0xa0,0x5d,0xe0,0xc0,
0x80,0x5d,0xe0,0x43,0x20,0x5d,0xe0,0x55,0x20,0x5d,0xe0,0x55,0x20};
const u8g_fntpgm_uint8_t fontpage_162_197_197[45] U8G_FONT_SECTION("fontpage_162_197_197") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0xff,0xc0,0x08,0x00,0x11,0x00,0x7f,
0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xc1,0xc0};
const u8g_fntpgm_uint8_t fontpage_162_200_200[45] U8G_FONT_SECTION("fontpage_162_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x84,
0x00,0xff,0xe0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0};
const u8g_fntpgm_uint8_t fontpage_162_229_229[45] U8G_FONT_SECTION("fontpage_162_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0a,
0x00,0x0a,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20};
const u8g_fntpgm_uint8_t fontpage_162_232_232[45] U8G_FONT_SECTION("fontpage_162_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf,
0x60,0x04,0x00,0x04,0x00,0x1f,0x00,0x04,0x00,0x04,0x00,0x7f,0xc0};
const u8g_fntpgm_uint8_t fontpage_162_241_241[45] U8G_FONT_SECTION("fontpage_162_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11,
0x00,0x11,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40};
const u8g_fntpgm_uint8_t fontpage_162_247_247[45] U8G_FONT_SECTION("fontpage_162_247_247") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,
0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0,0x11,0x00,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_163_183_183[45] U8G_FONT_SECTION("fontpage_163_183_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32,
0x60,0x41,0x00,0x4f,0xc0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80};
const u8g_fntpgm_uint8_t fontpage_163_198_198[45] U8G_FONT_SECTION("fontpage_163_198_198") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x89,0x00,0x4f,0xe0,0x59,0x00,0x09,
0x00,0x2f,0xc0,0x29,0x00,0xcf,0xc0,0x49,0x00,0x49,0x00,0x4f,0xe0};
const u8g_fntpgm_uint8_t fontpage_163_250_250[45] U8G_FONT_SECTION("fontpage_163_250_250") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f,
0xc0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_164_134_134[45] U8G_FONT_SECTION("fontpage_164_134_134") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40,
0x40,0xbf,0xa0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xc3,0x00};
const u8g_fntpgm_uint8_t fontpage_164_151_151[45] U8G_FONT_SECTION("fontpage_164_151_151") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x20,0x10,0x20,0x11,0x20,0x3d,0x20,0x25,
0x20,0x65,0x20,0x99,0x20,0x09,0x20,0x10,0x20,0x20,0x20,0xc0,0xe0};
const u8g_fntpgm_uint8_t fontpage_164_157_157[45] U8G_FONT_SECTION("fontpage_164_157_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x27,0xe0,0xf9,0x20,0x11,0x20,0x21,
0x20,0x69,0x20,0xb1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xc0};
const u8g_fntpgm_uint8_t fontpage_164_176_176[45] U8G_FONT_SECTION("fontpage_164_176_176") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfe,0x20,0x10,0x20,0x20,0xa0,0x44,0xa0,0xfe,
0xa0,0x10,0xa0,0x7c,0xa0,0x10,0xa0,0x10,0x20,0x1e,0x20,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_164_182_183[73] U8G_FONT_SECTION("fontpage_164_182_183") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x50,0xa0,0x7e,0xa0,0x90,0xa0,0xfe,
0xa0,0x10,0xa0,0x7e,0xa0,0x52,0xa0,0x52,0x20,0x56,0x20,0x10,0xe0,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x7e,0x20,0x42,0x20,0x7e,0xa0,0x48,0xa0,0x48,0xa0,0x7e,0xa0,0x6a,
0xa0,0xaa,0xa0,0xaa,0xa0,0x2e,0x20,0x08,0xe0};
const u8g_fntpgm_uint8_t fontpage_164_245_245[45] U8G_FONT_SECTION("fontpage_164_245_245") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x28,0x20,0x54,0xa0,0xfe,0xa0,0x44,
0xa0,0x7c,0xa0,0x44,0xa0,0x7c,0xa0,0xc4,0x20,0x44,0x20,0x7c,0xe0};
const u8g_fntpgm_uint8_t fontpage_165_155_155[45] U8G_FONT_SECTION("fontpage_165_155_155") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0xff,0x80,0x08,
0x80,0x08,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00};
const u8g_fntpgm_uint8_t fontpage_165_160_160[45] U8G_FONT_SECTION("fontpage_165_160_160") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x20,0x00,0xfd,0xe0,0x25,0x20,0x25,
0x20,0x25,0x20,0x25,0x20,0x25,0x20,0x45,0x20,0x55,0xe0,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_165_168_168[45] U8G_FONT_SECTION("fontpage_165_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0x79,0x00,0x01,0x00,0x03,0xe0,0xfd,
0x20,0x21,0x20,0x21,0x20,0x49,0x20,0xfa,0x20,0x0a,0x20,0x04,0xc0};
const u8g_fntpgm_uint8_t fontpage_165_213_213[45] U8G_FONT_SECTION("fontpage_165_213_213") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x78,0x80,0x10,0x80,0xfe,0x80,0x55,0xe0,0x7c,
0xa0,0x54,0xa0,0x7c,0xa0,0x10,0xa0,0x7d,0x20,0x11,0x20,0xfe,0x60};
const u8g_fntpgm_uint8_t fontpage_166_150_150[45] U8G_FONT_SECTION("fontpage_166_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63,
0x00,0xa2,0x00,0x26,0x00,0x2a,0x00,0x22,0x20,0x22,0x20,0x21,0xe0};
const u8g_fntpgm_uint8_t fontpage_166_202_202[45] U8G_FONT_SECTION("fontpage_166_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7f,
0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_166_212_212[45] U8G_FONT_SECTION("fontpage_166_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x27,0xc0,0x22,0x40,0xfa,0x40,0x24,
0x80,0x24,0x80,0x3f,0xe0,0x2a,0xa0,0x2a,0xa0,0x33,0x20,0x24,0x40};
const u8g_fntpgm_uint8_t fontpage_166_225_225[45] U8G_FONT_SECTION("fontpage_166_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x0f,0x80,0x08,0x00,0x08,0x00,0xff,
0xe0,0x08,0x00,0x0a,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_166_240_240[45] U8G_FONT_SECTION("fontpage_166_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0xe7,0xc0,0x84,0x40,0x84,0x40,0xf4,
0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xe5,0x80,0x84,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_166_248_248[45] U8G_FONT_SECTION("fontpage_166_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7d,0xe0,0x91,0x20,0x11,0x20,0xff,
0x20,0x11,0x20,0x5d,0x20,0x51,0x20,0x51,0xa0,0x5d,0x40,0xe1,0x00};
const u8g_fntpgm_uint8_t fontpage_167_159_159[45] U8G_FONT_SECTION("fontpage_167_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x22,0x00,0x2f,0xc0,0x28,0x40,0x2f,
0xc0,0x28,0x40,0x2f,0xc0,0x22,0x00,0x2a,0x80,0x52,0x60,0xa6,0x20};
const u8g_fntpgm_uint8_t fontpage_167_214_214[45] U8G_FONT_SECTION("fontpage_167_214_214") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfc,0x00,0x4b,0xe0,0x4a,0x20,0x7a,0x20,0x49,
0x40,0x79,0x40,0x48,0x80,0x4c,0x80,0xf9,0x40,0x0a,0x40,0x0c,0x20};
const u8g_fntpgm_uint8_t fontpage_167_240_240[45] U8G_FONT_SECTION("fontpage_167_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xff,
0x80,0x00,0x80,0x7f,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7f,0x00};
const u8g_fntpgm_uint8_t fontpage_168_136_136[45] U8G_FONT_SECTION("fontpage_168_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf,
0x60,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x20,0x80};
const u8g_fntpgm_uint8_t fontpage_168_253_253[45] U8G_FONT_SECTION("fontpage_168_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0xee,0xe0,0x00,
0x00,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7a,0x40,0x4a,0xc0,0x02,0x00};
const u8g_fntpgm_uint8_t fontpage_169_140_140[45] U8G_FONT_SECTION("fontpage_169_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0c,0x00,0x70,0x00,0x11,0xe0,0xfd,0x20,0x11,
0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xe0,0x10,0x00};
const u8g_fntpgm_uint8_t fontpage_170_223_223[45] U8G_FONT_SECTION("fontpage_170_223_223") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x00,0x45,0xe0,0x7d,0x40,0x43,
0x40,0x5d,0x40,0x55,0x40,0x54,0x80,0x94,0x80,0x9d,0x40,0x82,0x20};
const u8g_fntpgm_uint8_t fontpage_171_174_174[45] U8G_FONT_SECTION("fontpage_171_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xf3,0xc0,0x92,0x40,0x92,0x40,0xff,0xc0,0x44,
0x80,0x7f,0x80,0x44,0x80,0x7f,0x80,0x04,0x00,0xff,0xc0,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_172_180_180[45] U8G_FONT_SECTION("fontpage_172_180_180") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0xa0,0xeb,0xc0,0xaa,0xa0,0xbf,0xe0,0xa4,
0x80,0xaf,0xe0,0xf9,0x20,0x0f,0xe0,0x09,0x20,0x0f,0xe0,0x11,0x20};
const u8g_fntpgm_uint8_t fontpage_172_244_244[45] U8G_FONT_SECTION("fontpage_172_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4,
0x40,0xa7,0xc0,0xe4,0x40,0x07,0xc0,0x04,0x40,0x07,0xc0,0x0c,0x60};
const u8g_fntpgm_uint8_t fontpage_173_222_222[45] U8G_FONT_SECTION("fontpage_173_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x80,0x40,0x9e,0x40,0x92,
0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0x80,0x40,0xff,0xc0,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_173_224_224[45] U8G_FONT_SECTION("fontpage_173_224_224") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x84,0x20,0x84,0x20,0xbf,0xa0,0x84,
0x20,0x84,0x20,0x8a,0x20,0x91,0x20,0xa0,0xa0,0x80,0x20,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_174_150_150[45] U8G_FONT_SECTION("fontpage_174_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x91,0x20,0x9f,0x20,0x84,0x20,0xff,
0xe0,0xaa,0xa0,0xae,0xa0,0xa0,0xa0,0xbf,0xa0,0x80,0x20,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_174_168_168[45] U8G_FONT_SECTION("fontpage_174_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0xc0,0x10,0x00,0x22,
0x00,0x62,0x00,0xaf,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3f,0xc0};
const u8g_fntpgm_uint8_t fontpage_175_139_139[45] U8G_FONT_SECTION("fontpage_175_139_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x40,0x29,0x40,0x29,0x40,0xff,0x40,0x29,
0x40,0x28,0x40,0x4c,0xc0,0x04,0x00,0x3f,0x80,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_176_202_202[45] U8G_FONT_SECTION("fontpage_176_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0x29,0x20,0xff,0xe0,0x29,
0x20,0x2f,0xe0,0x21,0x40,0x33,0xa0,0xe5,0xe0,0x09,0x20,0x10,0xe0};
const u8g_fntpgm_uint8_t fontpage_176_235_235[45] U8G_FONT_SECTION("fontpage_176_235_235") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x21,0x00,0xf7,0xc0,0x24,
0x40,0x27,0x40,0x25,0xc0,0x34,0x40,0xef,0xe0,0x02,0x80,0x0c,0x60};
const u8g_fntpgm_uint8_t fontpage_177_138_138[45] U8G_FONT_SECTION("fontpage_177_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x23,0xc0,0xf9,0x40,0x51,0x40,0xfb,
0x40,0x22,0xc0,0xfc,0x20,0x24,0x20,0x7f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_178_150_150[45] U8G_FONT_SECTION("fontpage_178_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x3d,0x00,0x25,0x00,0x45,
0x80,0xa5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00};
const u8g_fntpgm_uint8_t fontpage_178_154_154[45] U8G_FONT_SECTION("fontpage_178_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x1f,0x00,0x21,0x00,0x52,0x00,0x0c,
0x00,0x34,0x00,0xcf,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xf8,0x00};
const u8g_fntpgm_uint8_t fontpage_178_167_167[45] U8G_FONT_SECTION("fontpage_178_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,
0x00,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60};
const u8g_fntpgm_uint8_t fontpage_178_169_170[73] U8G_FONT_SECTION("fontpage_178_169_170") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,
0xe0,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x0a,
0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xc4,0x60};
const u8g_fntpgm_uint8_t fontpage_178_177_177[45] U8G_FONT_SECTION("fontpage_178_177_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60};
const u8g_fntpgm_uint8_t fontpage_179_203_203[45] U8G_FONT_SECTION("fontpage_179_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xfa,0x40,0x2a,0x20,0x2f,
0xe0,0x48,0x00,0x53,0xe0,0x32,0x20,0x2a,0x20,0x4b,0xe0,0x82,0x20};
const u8g_fntpgm_uint8_t fontpage_182_208_208[45] U8G_FONT_SECTION("fontpage_182_208_208") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_182_216_216[45] U8G_FONT_SECTION("fontpage_182_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0xc0,0x20,
0x80,0x61,0x00,0xbf,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00};
const u8g_fntpgm_uint8_t fontpage_183_137_137[45] U8G_FONT_SECTION("fontpage_183_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x88,0x40,0x08,
0x00,0xff,0xe0,0x11,0x00,0x31,0x00,0x0e,0x00,0x09,0x80,0x70,0x60};
const u8g_fntpgm_uint8_t fontpage_183_140_140[45] U8G_FONT_SECTION("fontpage_183_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x00,
0x00,0x7f,0xe0,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xe0};
const u8g_fntpgm_uint8_t fontpage_183_154_154[45] U8G_FONT_SECTION("fontpage_183_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x80,0x40,0x3f,
0xc0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_183_162_162[45] U8G_FONT_SECTION("fontpage_183_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x90,0x40,0x3f,0x00,0x52,
0x00,0x8c,0x00,0x33,0x00,0xff,0xc0,0x21,0x00,0x21,0x00,0x3f,0x00};
const u8g_fntpgm_uint8_t fontpage_183_185_185[45] U8G_FONT_SECTION("fontpage_183_185_185") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x91,0x20,0x24,0x80,0x4a,
0x40,0x11,0x00,0x20,0x80,0xdf,0x60,0x11,0x00,0x11,0x00,0x1f,0x00};
const u8g_fntpgm_uint8_t fontpage_184_141_141[45] U8G_FONT_SECTION("fontpage_184_141_141") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x28,0x40,0xaa,0x40,0x6c,0x40,0xff,0xe0,0x28,
0x40,0x7d,0x40,0x10,0xc0,0x7c,0x40,0x10,0x40,0x1d,0x40,0xe0,0x80};
const u8g_fntpgm_uint8_t fontpage_184_143_143[45] U8G_FONT_SECTION("fontpage_184_143_143") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24,
0x40,0x44,0x40,0x44,0x20,0x84,0x20,0x04,0x00,0x14,0x00,0x08,0x00};
const u8g_fntpgm_uint8_t fontpage_184_177_177[45] U8G_FONT_SECTION("fontpage_184_177_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xfd,0x40,0x01,0x20,0x7f,0xe0,0x4a,
0x80,0x7a,0x80,0x12,0x80,0x5a,0xa0,0x56,0xa0,0x92,0xa0,0x34,0x60};
const u8g_fntpgm_uint8_t fontpage_187_229_229[41] U8G_FONT_SECTION("fontpage_187_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00,
0x00,0x0b,0x09,0x12,0x0c,0x00,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,
0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_187_242_242[43] U8G_FONT_SECTION("fontpage_187_242_242") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00,
0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0xff,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xff,
0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7f,0xc0};
const u8g_fntpgm_uint8_t fontpage_188_243_243[45] U8G_FONT_SECTION("fontpage_188_243_243") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x24,0x80,0x15,0x00,0x04,
0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_189_138_138[45] U8G_FONT_SECTION("fontpage_189_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x42,0x00,0x42,0x00,0x7f,
0xe0,0x42,0x00,0x47,0x00,0x4a,0x80,0x52,0x40,0xa2,0x20,0x82,0x00};
const u8g_fntpgm_uint8_t fontpage_189_166_166[45] U8G_FONT_SECTION("fontpage_189_166_166") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x49,0x00,0x7f,0xc0,0x49,
0x00,0x4f,0x00,0x40,0x00,0x5f,0x80,0x49,0x00,0x86,0x00,0xb9,0xc0};
const u8g_fntpgm_uint8_t fontpage_189_226_226[45] U8G_FONT_SECTION("fontpage_189_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x55,0x40,0x48,0xa0,0x7d,
0xc0,0x45,0x20,0x5e,0x00,0x51,0xc0,0x5d,0x40,0x84,0x80,0x9b,0x60};
const u8g_fntpgm_uint8_t fontpage_189_250_250[45] U8G_FONT_SECTION("fontpage_189_250_250") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xef,0xc0,0x22,0x40,0x5f,0xe0,0xe2,
0x40,0x2f,0xc0,0xa2,0x00,0x6f,0xe0,0x22,0x00,0x52,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_191_133_133[45] U8G_FONT_SECTION("fontpage_191_133_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x21,0x00,0x47,0xc0,0x91,0x00,0x1f,
0xe0,0x20,0x80,0x6f,0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x21,0x80};
const u8g_fntpgm_uint8_t fontpage_191_140_140[45] U8G_FONT_SECTION("fontpage_191_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x24,0x80,0x47,0x00,0x92,0x40,0x2f,
0xe0,0x64,0x20,0xa7,0xc0,0x2c,0x40,0x32,0x80,0x23,0x80,0x2c,0x60};
const u8g_fntpgm_uint8_t fontpage_191_145_145[45] U8G_FONT_SECTION("fontpage_191_145_145") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xe0,0x25,0x40,0x45,0x40,0x9a,0x80,0x25,
0x40,0x65,0x40,0xa0,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_191_158_158[45] U8G_FONT_SECTION("fontpage_191_158_158") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9e,0x9e,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x40,0x22,0x40,0x45,0xa0,0x99,0x20,0x20,
0x00,0x65,0x00,0xa5,0x00,0x25,0xe0,0x25,0x00,0x2b,0x00,0x31,0xe0};
const u8g_fntpgm_uint8_t fontpage_191_169_169[45] U8G_FONT_SECTION("fontpage_191_169_169") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x27,0xe0,0x4c,0x40,0x97,0xc0,0x24,
0x40,0x67,0xc0,0xa4,0x00,0x27,0xc0,0x2c,0x80,0x33,0x00,0x2c,0xe0};
const u8g_fntpgm_uint8_t fontpage_191_174_174[45] U8G_FONT_SECTION("fontpage_191_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x6a,0x80,0xbe,0x80,0x01,0xe0,0x5d,
0x40,0xc3,0x40,0x5d,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20};
const u8g_fntpgm_uint8_t fontpage_191_195_195[45] U8G_FONT_SECTION("fontpage_191_195_195") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10,
0x40,0x50,0x20,0x50,0x20,0x50,0xa0,0x90,0x80,0x10,0x80,0x0f,0x80};
const u8g_fntpgm_uint8_t fontpage_192_167_167[45] U8G_FONT_SECTION("fontpage_192_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x00,0xb5,0x00,0xaf,0xe0,0xa9,
0x00,0xb1,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_192_226_226[45] U8G_FONT_SECTION("fontpage_192_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0xb2,0x00,0xaa,0x80,0xa4,
0x80,0xa5,0xa0,0x2a,0xc0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20};
const u8g_fntpgm_uint8_t fontpage_192_239_239[45] U8G_FONT_SECTION("fontpage_192_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,
0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x54,0x40,0x52,0xa0,0x8f,0x80};
const u8g_fntpgm_uint8_t fontpage_195_182_182[45] U8G_FONT_SECTION("fontpage_195_182_182") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0xb2,0x80,0xaf,0xe0,0xa4,
0x40,0x27,0xc0,0x24,0x40,0x27,0xc0,0x25,0x40,0x2c,0xa0,0x33,0xa0};
const u8g_fntpgm_uint8_t fontpage_195_201_201[45] U8G_FONT_SECTION("fontpage_195_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x4a,0x80,0x57,0xe0,0x7c,
0x80,0x57,0xc0,0x54,0x80,0x57,0xe0,0x4a,0x40,0xa8,0xa0,0x4f,0xa0};
const u8g_fntpgm_uint8_t fontpage_196_144_144[45] U8G_FONT_SECTION("fontpage_196_144_144") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x80,0x02,0x40,0x7f,0xe0,0x42,0x00,0x42,
0x00,0x7a,0x40,0x4a,0x40,0x4a,0x80,0x49,0x20,0x52,0xa0,0x84,0x60};
const u8g_fntpgm_uint8_t fontpage_196_182_182[45] U8G_FONT_SECTION("fontpage_196_182_182") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x3f,0xc0,0x20,
0x40,0x20,0x40,0x3f,0xc0,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00};
const u8g_fntpgm_uint8_t fontpage_196_192_192[45] U8G_FONT_SECTION("fontpage_196_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x60,0x63,0x80,0x42,0x00,0x7a,0x00,0x4b,
0xe0,0x4a,0x40,0x7a,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40};
const u8g_fntpgm_uint8_t fontpage_196_199_199[45] U8G_FONT_SECTION("fontpage_196_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x7f,0xe0,0x40,
0x00,0x7d,0xe0,0x44,0x20,0x54,0xa0,0x4c,0x60,0x54,0xa0,0xa9,0x60};
const u8g_fntpgm_uint8_t fontpage_196_203_203[45] U8G_FONT_SECTION("fontpage_196_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xc0,0x7c,0x00,0x04,0x00,0x7f,0xc0,0x04,
0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00};
const u8g_fntpgm_uint8_t fontpage_196_211_211[45] U8G_FONT_SECTION("fontpage_196_211_211") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0xf8,0x80,0x20,0x80,0x28,
0x80,0x30,0x80,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0xe3,0x80};
const u8g_fntpgm_uint8_t fontpage_196_231_231[45] U8G_FONT_SECTION("fontpage_196_231_231") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x22,0x00,0xff,0x80,0x22,0x80,0x2a,
0x80,0x36,0x80,0x62,0x80,0xa7,0xa0,0x24,0xa0,0xa8,0xa0,0x50,0x60};
const u8g_fntpgm_uint8_t fontpage_196_249_249[45] U8G_FONT_SECTION("fontpage_196_249_249") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x24,0x80,0xfc,0x80,0x24,0xa0,0x2f,
0xc0,0x34,0x80,0x64,0x80,0xa4,0x80,0x25,0xa0,0x26,0xa0,0xe4,0x60};
const u8g_fntpgm_uint8_t fontpage_197_150_150[45] U8G_FONT_SECTION("fontpage_197_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0x22,0x40,0xf9,0x40,0x20,0x40,0x2a,
0x40,0x31,0x40,0x60,0xe0,0xaf,0x40,0x20,0x40,0x20,0x40,0xe0,0x40};
const u8g_fntpgm_uint8_t fontpage_197_189_189[45] U8G_FONT_SECTION("fontpage_197_189_189") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x20,0x80,0xf8,0x80,0x27,0xe0,0x2c,
0xa0,0x34,0xa0,0x67,0xe0,0xa4,0xa0,0x24,0xa0,0x27,0xe0,0xe4,0x20};
const u8g_fntpgm_uint8_t fontpage_197_212_212[45] U8G_FONT_SECTION("fontpage_197_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0xff,0xe0,0x22,0x00,0x2b,
0xc0,0x32,0x40,0x65,0x40,0xa4,0x80,0x28,0x80,0x29,0x40,0xe6,0x20};
const u8g_fntpgm_uint8_t fontpage_198_137_137[45] U8G_FONT_SECTION("fontpage_198_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0xff,0xe0,0x25,0x20,0x29,
0x00,0x37,0xe0,0x62,0x40,0xa6,0x40,0x21,0x80,0x22,0x80,0xec,0x60};
const u8g_fntpgm_uint8_t fontpage_199_137_137[45] U8G_FONT_SECTION("fontpage_199_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0xe0,0xf9,0x00,0x27,0xc0,0x2c,
0x40,0x37,0xc0,0x64,0x40,0xa7,0xc0,0x21,0x00,0x2f,0xe0,0xe1,0x00};
const u8g_fntpgm_uint8_t fontpage_199_162_162[45] U8G_FONT_SECTION("fontpage_199_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x28,0x20,0xf2,0x80,0x24,0x40,0x29,
0x20,0x31,0x00,0x6f,0xe0,0xa1,0x00,0x25,0x80,0x29,0x40,0xf1,0x20};
const u8g_fntpgm_uint8_t fontpage_199_167_167[45] U8G_FONT_SECTION("fontpage_199_167_167") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf8,0x20,0x22,0x80,0x24,
0x40,0x38,0x20,0x67,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0xef,0xe0};
const u8g_fntpgm_uint8_t fontpage_199_210_210[45] U8G_FONT_SECTION("fontpage_199_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xf1,0x00,0x2f,0xe0,0x21,
0x00,0x35,0x60,0x69,0x20,0xad,0x60,0x29,0x20,0x29,0x20,0xef,0xe0};
const u8g_fntpgm_uint8_t fontpage_199_219_219[45] U8G_FONT_SECTION("fontpage_199_219_219") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x80,0x2f,0xe0,0x2a,
0xa0,0x3a,0xa0,0x6c,0x60,0xa1,0x00,0x2f,0xe0,0x22,0x80,0xec,0x60};
const u8g_fntpgm_uint8_t fontpage_201_199_199[45] U8G_FONT_SECTION("fontpage_201_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x2a,0xa0,0xff,0xe0,0x21,0x00,0x2f,
0xe0,0x32,0x80,0xe7,0xc0,0x21,0x00,0x2f,0xe0,0xa1,0x00,0x61,0x00};
const u8g_fntpgm_uint8_t fontpage_201_202_203[73] U8G_FONT_SECTION("fontpage_201_202_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfd,0xc0,0xa9,0x40,0xf9,0x60,0xab,0xc0,0xfd,
0x40,0xa9,0x80,0xab,0x60,0xfe,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x29,0x20,0x25,0x40,0xff,0xe0,0x2a,0xa0,0x2b,0x80,0x30,0x00,0xef,
0xe0,0x29,0x20,0x2f,0xe0,0xa9,0x20,0x6f,0xe0};
const u8g_fntpgm_uint8_t fontpage_201_224_224[45] U8G_FONT_SECTION("fontpage_201_224_224") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xfa,0xa0,0x25,0x40,0x2d,
0x60,0x35,0x40,0xe4,0x40,0x27,0xc0,0x24,0x40,0xa7,0xc0,0x68,0x40};
const u8g_fntpgm_uint8_t fontpage_202_190_190[45] U8G_FONT_SECTION("fontpage_202_190_190") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x11,0x00,0xfd,0xe0,0x22,0x40,0x25,
0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4a,0x40,0x94,0x20};
const u8g_fntpgm_uint8_t fontpage_202_215_215[45] U8G_FONT_SECTION("fontpage_202_215_215") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7d,0x00,0x45,0x00,0x7d,0xe0,0x47,0x40,0x7d,
0x40,0x45,0x40,0x7d,0x40,0x45,0x40,0x28,0x80,0x45,0x40,0x86,0x20};
const u8g_fntpgm_uint8_t fontpage_202_244_244[45] U8G_FONT_SECTION("fontpage_202_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x55,0x40,0x7c,0x80,0x39,
0x40,0x56,0x20,0x7f,0xc0,0x04,0x00,0x27,0x80,0x24,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_202_248_248[45] U8G_FONT_SECTION("fontpage_202_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x00,0x55,0xe0,0xff,0x40,0x55,
0x40,0xfd,0x40,0x95,0x40,0xff,0x40,0x28,0x80,0x19,0x40,0xe6,0x20};
const u8g_fntpgm_uint8_t fontpage_203_153_153[45] U8G_FONT_SECTION("fontpage_203_153_153") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xac,0x80,0x72,0x80,0x20,0x80,0xfc,
0x80,0x22,0x80,0x30,0xe0,0x6f,0x80,0xa0,0x80,0x20,0x80,0x20,0x80};
const u8g_fntpgm_uint8_t fontpage_203_156_156[45] U8G_FONT_SECTION("fontpage_203_156_156") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x40,0x29,0x40,0x44,0xc0,0xb8,0x40,0x12,
0x40,0x7d,0x40,0x10,0x60,0x55,0xc0,0x52,0x40,0x92,0x40,0x30,0x40};
const u8g_fntpgm_uint8_t fontpage_203_176_176[45] U8G_FONT_SECTION("fontpage_203_176_176") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x60,0xfd,0x80,0x45,0x00,0x29,0x00,0xfd,
0xe0,0x11,0x40,0xfd,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40};
const u8g_fntpgm_uint8_t fontpage_203_188_188[45] U8G_FONT_SECTION("fontpage_203_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x10,0x80,0xfd,0x40,0x21,0x40,0x3a,
0x20,0x2c,0x80,0x28,0x40,0x28,0x40,0x49,0x00,0x48,0x80,0x98,0x40};
const u8g_fntpgm_uint8_t fontpage_204_142_142[45] U8G_FONT_SECTION("fontpage_204_142_142") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xe0,0xf2,0x20,0x92,0x20,0x93,0xe0,0xf2,
0x20,0x92,0x20,0x93,0xe0,0xf2,0x20,0x04,0x20,0x08,0xa0,0x30,0x40};
const u8g_fntpgm_uint8_t fontpage_204_194_194[45] U8G_FONT_SECTION("fontpage_204_194_194") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xf7,0xc0,0x91,0x00,0x91,0x00,0xff,
0xe0,0x90,0x80,0x9f,0xe0,0x94,0x80,0xf2,0x80,0x00,0x80,0x03,0x80};
const u8g_fntpgm_uint8_t fontpage_205_171_171[45] U8G_FONT_SECTION("fontpage_205_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x00,0x55,0xe0,0x7d,0x40,0x55,
0x40,0xff,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40};
const u8g_fntpgm_uint8_t fontpage_205_244_244[45] U8G_FONT_SECTION("fontpage_205_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x02,0x00,0x3f,0xc0,0x22,0x40,0x3f,
0xc0,0x22,0x40,0x3f,0xc0,0x0a,0x00,0x04,0x00,0x1b,0x00,0xe0,0xe0};
const u8g_fntpgm_uint8_t fontpage_206_128_128[45] U8G_FONT_SECTION("fontpage_206_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,
0xe0,0x48,0x00,0x7f,0xc0,0x4a,0x40,0x79,0x80,0xc9,0x80,0x0e,0x60};
const u8g_fntpgm_uint8_t fontpage_206_137_137[45] U8G_FONT_SECTION("fontpage_206_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x1f,0x80,0x30,
0x80,0x5f,0x80,0x90,0x80,0x1f,0x80,0x10,0x80,0x10,0x80,0x11,0x80};
const u8g_fntpgm_uint8_t fontpage_206_255_255[45] U8G_FONT_SECTION("fontpage_206_255_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xfc,0x00,0x24,0x00,0x27,
0xc0,0x74,0x40,0x6e,0x40,0xa5,0x80,0x28,0x80,0x29,0x40,0x36,0x20};
const u8g_fntpgm_uint8_t fontpage_207_241_241[45] U8G_FONT_SECTION("fontpage_207_241_241") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0xff,0xe0,0x21,0x00,0x71,
0x00,0x69,0x00,0xa7,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_208_161_161[45] U8G_FONT_SECTION("fontpage_208_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0x2f,0xe0,0xf0,0x00,0x22,
0x80,0x74,0x40,0x6a,0xa0,0xa2,0x80,0x21,0x00,0x22,0x80,0x2c,0x60};
const u8g_fntpgm_uint8_t fontpage_208_188_188[45] U8G_FONT_SECTION("fontpage_208_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x40,0x2a,0x80,0x21,
0x00,0x72,0x80,0x6c,0x60,0xa7,0xc0,0x24,0x40,0x24,0x40,0x27,0xc0};
const u8g_fntpgm_uint8_t fontpage_209_157_157[45] U8G_FONT_SECTION("fontpage_209_157_157") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x27,0xe0,0x5a,0x40,0x51,0x80,0xde,
0x60,0x51,0x00,0x5f,0xe0,0x51,0x00,0x45,0x40,0x49,0x20,0x53,0x20};
const u8g_fntpgm_uint8_t fontpage_211_253_253[45] U8G_FONT_SECTION("fontpage_211_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x2f,0xe0,0xfa,0xa0,0x2f,0xe0,0x2a,
0xa0,0x3f,0xe0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x27,0xc0,0x24,0x40};
const u8g_fntpgm_uint8_t fontpage_212_217_217[45] U8G_FONT_SECTION("fontpage_212_217_217") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0x40,0x2a,0xa0,0xf4,0x40,0x27,0xc0,0x38,
0x20,0x27,0xc0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x22,0x80,0x2f,0xe0};
const u8g_fntpgm_uint8_t fontpage_212_223_223[45] U8G_FONT_SECTION("fontpage_212_223_223") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x25,0x40,0x29,0xa0,0xff,0x40,0x25,0x20,0x6f,
0xe0,0x75,0x40,0xaf,0xe0,0xa5,0x40,0x26,0xa0,0x29,0x60,0x32,0x20};
const u8g_fntpgm_uint8_t fontpage_213_162_162[45] U8G_FONT_SECTION("fontpage_213_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x22,0x80,0xf4,0x40,0x2b,0xa0,0x60,
0x00,0x7e,0xe0,0xaa,0xa0,0xae,0xe0,0x24,0x40,0x2a,0xc0,0x31,0x20};
const u8g_fntpgm_uint8_t fontpage_214_226_226[45] U8G_FONT_SECTION("fontpage_214_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27,
0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xff,0xc0};
const u8g_fntpgm_uint8_t fontpage_214_229_229[45] U8G_FONT_SECTION("fontpage_214_229_229") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x27,0xc0,0x24,0x00,0x24,0x00,0xff,
0xe0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xf8,0x00};
const u8g_fntpgm_uint8_t fontpage_214_248_248[45] U8G_FONT_SECTION("fontpage_214_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x43,0xc0,0xf0,0x40,0x93,0xc0,0xf8,0x40,0x8f,
0xe0,0xfc,0xa0,0x20,0x80,0xbb,0xe0,0xa2,0xa0,0xba,0xe0,0xe0,0x80};
const u8g_fntpgm_uint8_t fontpage_215_188_188[45] U8G_FONT_SECTION("fontpage_215_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xc0,0xfd,0x40,0x11,0x40,0xff,0x60,0x84,
0x00,0x7b,0xe0,0x01,0x40,0x79,0x40,0x4a,0x80,0x4d,0x40,0x82,0x20};
const u8g_fntpgm_uint8_t fontpage_215_212_212[45] U8G_FONT_SECTION("fontpage_215_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xf6,
0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xb4,0x40,0xc4,0x40,0x83,0xc0};
const u8g_fntpgm_uint8_t fontpage_217_146_146[45] U8G_FONT_SECTION("fontpage_217_146_146") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x23,0xc0,0x84,0x40,0x59,0x40,0x10,
0x80,0x27,0xc0,0x24,0x40,0xc2,0x80,0x41,0x00,0x46,0x80,0x58,0x60};
const u8g_fntpgm_uint8_t fontpage_218_187_187[45] U8G_FONT_SECTION("fontpage_218_187_187") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x81,0x00,0x5f,0xe0,0x11,
0x00,0x21,0x00,0x27,0xc0,0xc4,0x40,0x44,0x40,0x47,0xc0,0x44,0x40};
const u8g_fntpgm_uint8_t fontpage_219_136_136[45] U8G_FONT_SECTION("fontpage_219_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xe0,0x14,
0x20,0x27,0xe0,0x24,0x20,0xc7,0xe0,0x44,0x20,0x44,0x20,0x44,0x60};
const u8g_fntpgm_uint8_t fontpage_219_188_188[45] U8G_FONT_SECTION("fontpage_219_188_188") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x21,0x00,0x8f,0xe0,0x50,0x00,0x17,
0xc0,0x24,0x40,0x27,0xc0,0xc1,0x00,0x45,0x40,0x49,0x20,0x53,0x20};
const u8g_fntpgm_uint8_t fontpage_219_225_225[45] U8G_FONT_SECTION("fontpage_219_225_225") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54,
0x40,0x29,0x20,0x25,0x40,0xc5,0x80,0x49,0x00,0x42,0x80,0x5c,0x60};
const u8g_fntpgm_uint8_t fontpage_220_133_133[45] U8G_FONT_SECTION("fontpage_220_133_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x01,0x00,0x97,0xc0,0x51,
0x00,0x2f,0xe0,0x24,0x40,0xc7,0x40,0x45,0xc0,0x44,0x40,0x44,0xc0};
const u8g_fntpgm_uint8_t fontpage_220_172_172[45] U8G_FONT_SECTION("fontpage_220_172_172") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4e,0x20,0x2a,0xa0,0x0a,0xa0,0x8e,0xa0,0x5a,
0xa0,0x2e,0xa0,0x2a,0xa0,0xca,0xa0,0x4e,0x20,0x4a,0x20,0x51,0x60};
const u8g_fntpgm_uint8_t fontpage_221_144_144[45] U8G_FONT_SECTION("fontpage_221_144_144") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x80,0x8b,0xe0,0x4a,0x20,0x1b,
0xe0,0x2a,0x20,0x2b,0xe0,0xc8,0x80,0x4a,0xc0,0x54,0xa0,0x69,0xa0};
const u8g_fntpgm_uint8_t fontpage_221_150_150[45] U8G_FONT_SECTION("fontpage_221_150_150") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x85,0x00,0x4f,0xe0,0x99,0x00,0x4f,0xc0,0x49,
0x00,0xcf,0xc0,0x49,0x00,0x4f,0xe0,0x04,0x00,0xff,0xe0,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_221_171_171[45] U8G_FONT_SECTION("fontpage_221_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x25,0x40,0x06,0xc0,0x84,0x40,0x47,
0xc0,0x20,0x00,0x2f,0xe0,0xca,0xa0,0x4a,0xa0,0x4a,0xa0,0x5f,0xe0};
const u8g_fntpgm_uint8_t fontpage_223_192_192[45] U8G_FONT_SECTION("fontpage_223_192_192") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x3e,0x80,0x12,0xe0,0x9e,0xa0,0x53,
0xa0,0x3e,0xa0,0x28,0xa0,0xdf,0xa0,0x4a,0x40,0x52,0xa0,0x65,0x20};
const u8g_fntpgm_uint8_t fontpage_224_237_237[43] U8G_FONT_SECTION("fontpage_224_237_237") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x09,0xff,0x00,
0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x24,0x40,0x24,0x40,0x24,
0x80,0x4a,0x00,0x0a,0x00,0x11,0x00,0x20,0xe0,0xc0,0x40};
const u8g_fntpgm_uint8_t fontpage_224_239_239[45] U8G_FONT_SECTION("fontpage_224_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x17,0xe0,0x54,0x80,0x58,0x80,0x50,
0x80,0x90,0x80,0x10,0x80,0x10,0x80,0x28,0x80,0x44,0x80,0x81,0x80};
const u8g_fntpgm_uint8_t fontpage_226_161_161[45] U8G_FONT_SECTION("fontpage_226_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7f,0xe0,0xaa,0x80,0x2a,0x80,0xff,
0xe0,0x2a,0x80,0x2a,0x80,0xff,0xe0,0x12,0x40,0x49,0x20,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_227_177_177[45] U8G_FONT_SECTION("fontpage_227_177_177") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xf9,0x00,0x23,0xc0,0xfd,0x40,0x53,
0x40,0xa9,0x40,0xfa,0xe0,0x22,0x20,0xfa,0x40,0x49,0x20,0x89,0x20};
const u8g_fntpgm_uint8_t fontpage_227_200_200[45] U8G_FONT_SECTION("fontpage_227_200_200") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xa0,0x2b,0x40,0xac,0x80,0xb7,0xc0,0xa8,
0x20,0x37,0xc0,0x24,0x40,0x27,0xc0,0x52,0x80,0x49,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_228_199_199[45] U8G_FONT_SECTION("fontpage_228_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x21,0x00,0x3f,0xe0,0x20,
0x00,0x20,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_231_135_135[45] U8G_FONT_SECTION("fontpage_231_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x88,0x40,0x52,0x80,0x0c,
0x00,0x2a,0x80,0xdf,0x40,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00};
const u8g_fntpgm_uint8_t fontpage_234_168_168[45] U8G_FONT_SECTION("fontpage_234_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x44,0x40,0x7f,0xc0,0x44,
0x40,0x44,0x40,0x7f,0xc0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xc0};
const u8g_fntpgm_uint8_t fontpage_234_204_204[45] U8G_FONT_SECTION("fontpage_234_204_204") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x7f,0xc0,0x44,0x40,0x7f,
0xc0,0x0a,0x00,0x31,0x80,0xd1,0x60,0x11,0x00,0x21,0x00,0x41,0x00};
const u8g_fntpgm_uint8_t fontpage_236_253_253[34] U8G_FONT_SECTION("fontpage_236_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x08,0x0b,0x0b,0x0c,0x02,0xff,0x10,0x20,0xff,0x81,0x81,0xff,0x81,0x81,0x81,
0xff,0x81};
const u8g_fntpgm_uint8_t fontpage_237_132_132[45] U8G_FONT_SECTION("fontpage_237_132_132") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x22,0x00,0x42,0x00,0xf7,0xc0,0x98,0x40,0x90,
0x40,0xf4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xf0,0x40,0x91,0x80};
const u8g_fntpgm_uint8_t fontpage_237_244_244[45] U8G_FONT_SECTION("fontpage_237_244_244") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0x80,0x20,
0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x20,0x80,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_238_129_129[45] U8G_FONT_SECTION("fontpage_238_129_129") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x14,0x80,0x25,0x60,0x46,0x20,0x1f,
0x80,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80};
const u8g_fntpgm_uint8_t fontpage_238_160_160[45] U8G_FONT_SECTION("fontpage_238_160_160") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf4,0x20,0x97,0xe0,0xf4,0x80,0x94,
0x80,0x97,0xe0,0xf4,0x80,0x94,0x80,0xf4,0xa0,0x96,0x60,0x04,0x20};
const u8g_fntpgm_uint8_t fontpage_240_141_141[45] U8G_FONT_SECTION("fontpage_240_141_141") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xfa,0x00,0x23,0xe0,0x24,0x20,0x79,
0x40,0xc9,0x00,0x49,0x00,0x49,0x00,0x7a,0x80,0x4c,0x40,0x08,0x20};
const u8g_fntpgm_uint8_t fontpage_243_251_251[45] U8G_FONT_SECTION("fontpage_243_251_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xe3,0xe0,0x24,0x20,0xfa,0x40,0x21,
0x80,0x36,0x80,0x29,0xe0,0x62,0x20,0xa5,0x40,0x20,0x80,0x27,0x00};
const u8g_fntpgm_uint8_t fontpage_244_205_205[45] U8G_FONT_SECTION("fontpage_244_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xef,0xe0,0x21,0x00,0xff,0xc0,0x21,
0x00,0x2f,0xe0,0x34,0x40,0x6f,0xc0,0xa4,0x40,0x27,0xc0,0x2c,0x60};
const u8g_fntpgm_uint8_t fontpage_245_239_239[45] U8G_FONT_SECTION("fontpage_245_239_239") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x45,0x20,0xf7,0xe0,0x00,0x00,0xaf,
0xe0,0xa1,0x00,0xaf,0xe0,0x4a,0xa0,0x6a,0xa0,0x8a,0xa0,0x08,0x60};
const u8g_fntpgm_uint8_t fontpage_246_201_201[45] U8G_FONT_SECTION("fontpage_246_201_201") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x94,0x80,0x7f,0xc0,0x04,
0x00,0xff,0xe0,0x01,0x00,0x7f,0xc0,0x11,0x00,0x09,0x00,0x03,0x00};
const u8g_fntpgm_uint8_t fontpage_247_161_161[45] U8G_FONT_SECTION("fontpage_247_161_161") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x3d,0xe0,0x52,0x80,0xff,0xe0,0x80,
0x20,0x3f,0x80,0x20,0x80,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,0xc0};
const u8g_fntpgm_uint8_t fontpage_249_251_251[45] U8G_FONT_SECTION("fontpage_249_251_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x03,0x80,0xfc,0x00,0x11,0x00,0x7e,0x00,0x08,
0x00,0x11,0x00,0xff,0x80,0x08,0x80,0x2a,0x00,0x49,0x00,0x98,0x80};
const u8g_fntpgm_uint8_t fontpage_250_171_171[45] U8G_FONT_SECTION("fontpage_250_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x51,0x40,0x5d,0x80,0x51,0x20,0xfd,
0xe0,0x08,0x80,0x3f,0x00,0x08,0x80,0x7f,0xc0,0x24,0x80,0xcc,0x60};
const u8g_fntpgm_uint8_t fontpage_250_176_176[45] U8G_FONT_SECTION("fontpage_250_176_176") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0x55,0x20,0xf5,0x20,0x25,
0x20,0x57,0xe0,0xed,0x20,0x05,0x20,0x55,0x20,0xaf,0xe0,0xac,0x20};
const u8g_fntpgm_uint8_t fontpage_250_194_194[45] U8G_FONT_SECTION("fontpage_250_194_194") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0x54,0x40,0xf2,0x80,0x21,
0x00,0x52,0x80,0xec,0x60,0x01,0x00,0x50,0x80,0xab,0x00,0x80,0xc0};
const u8g_fntpgm_uint8_t fontpage_250_241_242[73] U8G_FONT_SECTION("fontpage_250_241_242") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0x57,0xe0,0xf1,0x00,0x22,
0x40,0x57,0xa0,0xe8,0x00,0x02,0x80,0x52,0xa0,0xac,0xa0,0xa8,0x60,0x0b,0x0b,0x16,
0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x52,0x40,0xf7,0x80,0x21,0x40,0x57,0xe0,0xe8,
0x80,0x02,0xc0,0x54,0xa0,0xa8,0xa0,0xa9,0x80};
const u8g_fntpgm_uint8_t fontpage_251_178_178[45] U8G_FONT_SECTION("fontpage_251_178_178") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xe0,0x24,0x20,0x55,0x60,0xf4,0xa0,0x27,
0xe0,0x54,0xa0,0xef,0xe0,0x05,0x20,0x55,0xe0,0xac,0x20,0xac,0x60};
const u8g_fntpgm_uint8_t fontpage_251_210_210[45] U8G_FONT_SECTION("fontpage_251_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x20,0x27,0xa0,0x51,0x40,0xff,0xe0,0x21,
0x00,0x53,0xe0,0xee,0x20,0x03,0xe0,0x52,0x20,0xab,0xe0,0xaa,0x20};
const u8g_fntpgm_uint8_t fontpage_251_218_218[45] U8G_FONT_SECTION("fontpage_251_218_218") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xda,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xc0,0x54,0x40,0xf7,0xc0,0x24,
0x40,0x57,0xc0,0xe9,0x20,0x07,0x40,0x53,0x80,0xad,0x40,0xab,0x20};
const u8g_fntpgm_uint8_t fontpage_251_232_232[45] U8G_FONT_SECTION("fontpage_251_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x58,0x20,0xff,0xe0,0x28,
0x00,0x5f,0xe0,0xea,0xa0,0x0f,0xe0,0x5a,0xa0,0xaa,0xa0,0xaa,0x60};
const u8g_fntpgm_uint8_t fontpage_252_174_174[45] U8G_FONT_SECTION("fontpage_252_174_174") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0x44,0x20,0xfb,0xe0,0x24,
0x80,0x5d,0xe0,0xf5,0x20,0x05,0xe0,0x55,0x20,0xad,0xe0,0xa5,0x20};
const u8g_fntpgm_uint8_t fontpage_252_189_189[45] U8G_FONT_SECTION("fontpage_252_189_189") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0x55,0x60,0xf6,0xa0,0x25,
0x20,0x56,0xa0,0xef,0xe0,0x01,0x40,0x56,0xa0,0xaa,0x60,0xa9,0xc0};
const u8g_fntpgm_uint8_t fontpage_252_252_252[45] U8G_FONT_SECTION("fontpage_252_252_252") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4a,0x40,0x4d,0xa0,0x8a,0x40,0xfd,0xa0,0x28,
0x00,0x4f,0xe0,0xfa,0x40,0x0d,0xa0,0x5a,0x40,0xad,0xa0,0xaf,0xe0};
const u8g_fntpgm_uint8_t fontpage_253_140_140[45] U8G_FONT_SECTION("fontpage_253_140_140") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x4f,0xe0,0x91,0x00,0xef,0xe0,0x2a,
0xa0,0x5f,0xe0,0xf4,0x40,0x07,0xc0,0x54,0x40,0xaf,0xc0,0xac,0x60};
const u8g_fntpgm_uint8_t fontpage_253_162_162[45] U8G_FONT_SECTION("fontpage_253_162_162") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xc0,0x41,0x00,0x51,0x00,0xe1,
0x00,0x21,0x00,0x41,0x00,0xf1,0x00,0x01,0x00,0x31,0x00,0xcf,0xe0};
const u8g_fntpgm_uint8_t fontpage_253_255_255[45] U8G_FONT_SECTION("fontpage_253_255_255") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x20,0x40,0x43,0xc0,0xf0,0x40,0x2f,
0xe0,0x41,0x20,0xf5,0x40,0x03,0x80,0x35,0x40,0xc9,0x20,0x03,0x00};
const u8g_fntpgm_uint8_t fontpage_254_186_186[45] U8G_FONT_SECTION("fontpage_254_186_186") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x41,0x00,0x7b,0xc0,0xa1,0x40,0x21,
0x40,0xff,0xe0,0x21,0x00,0xa9,0x00,0xaa,0x80,0xfa,0x40,0x04,0x20};
const u8g_fntpgm_uint8_t fontpage_254_209_209[45] U8G_FONT_SECTION("fontpage_254_209_209") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x91,0x40,0xd5,0x40,0xa2,
0x40,0x92,0x40,0xad,0x40,0xc5,0x40,0x88,0x40,0x80,0x40,0x81,0xc0};
const u8g_fntpgm_uint8_t fontpage_254_238_238[45] U8G_FONT_SECTION("fontpage_254_238_238") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x4a,0x40,0x7f,0xc0,0x04,0x00,0xff,
0xe0,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_254_242_242[45] U8G_FONT_SECTION("fontpage_254_242_242") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x49,0x20,0x7f,0xe0,0x04,0x40,0x3f,
0x80,0x05,0x00,0xff,0xe0,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80};
const u8g_fntpgm_uint8_t fontpage_256_240_240[45] U8G_FONT_SECTION("fontpage_256_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x57,0xe0,0x56,0xa0,0x75,0x20,0x56,
0xa0,0x77,0xe0,0x51,0x00,0x52,0xc0,0xfe,0x20,0x12,0x60,0x11,0xc0};
const u8g_fntpgm_uint8_t fontpage_259_234_234[34] U8G_FONT_SECTION("fontpage_259_234_234") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00,
0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,0xfe,0x82,0x82,0xfe,0x82,0xfe,0x82,0x82,
0xfe,0x82};
const u8g_fntpgm_uint8_t fontpage_265_221_221[45] U8G_FONT_SECTION("fontpage_265_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x52,0x00,0x53,
0xc0,0x55,0x00,0x10,0x80,0x7f,0xc0,0x4a,0x40,0x4a,0x40,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_272_204_204[45] U8G_FONT_SECTION("fontpage_272_204_204") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x40,0x00,0x80,0x00,0x10,0x00,0x2f,
0xe0,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80};
const u8g_fntpgm_uint8_t fontpage_272_232_232[45] U8G_FONT_SECTION("fontpage_272_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04,
0x00,0xff,0xe0,0x0a,0x40,0x12,0x80,0x31,0x00,0xd4,0x80,0x18,0x60};
const u8g_fntpgm_uint8_t fontpage_273_171_171[45] U8G_FONT_SECTION("fontpage_273_171_171") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x20,0x80,0xff,0xe0,0x14,0xa0,0x2c,
0x80,0x77,0xe0,0xad,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20};
const u8g_fntpgm_uint8_t fontpage_273_197_197[45] U8G_FONT_SECTION("fontpage_273_197_197") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x9f,0xe0,0x51,0x00,0x31,0x00,0xd7,
0xc0,0x12,0x00,0xff,0xe0,0x0c,0x40,0x32,0x80,0xd1,0x00,0x18,0xe0};
const u8g_fntpgm_uint8_t fontpage_273_221_221[45] U8G_FONT_SECTION("fontpage_273_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x51,0x00,0x7f,0xe0,0x11,0x00,0xf1,0x00,0x57,
0xc0,0x84,0x00,0xff,0xe0,0x14,0x80,0x33,0x00,0xd5,0x80,0x18,0x60};
const u8g_fntpgm_uint8_t fontpage_274_135_135[45] U8G_FONT_SECTION("fontpage_274_135_135") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x00,0x27,0xe0,0xf8,0x00,0x17,0xc0,0x2c,
0x40,0x77,0xc0,0xac,0x40,0x27,0xc0,0x2c,0x40,0x33,0x80,0x2c,0x60};
const u8g_fntpgm_uint8_t fontpage_275_210_210[45] U8G_FONT_SECTION("fontpage_275_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x00,0x22,0x00,0x7f,0xc0,0xa4,
0x40,0x3f,0xc0,0x24,0x40,0x3f,0xc0,0x24,0x40,0x45,0x40,0x80,0x80};
const u8g_fntpgm_uint8_t fontpage_276_136_136[45] U8G_FONT_SECTION("fontpage_276_136_136") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x10,0x80,0xfc,0x80,0x00,0x80,0x7f,
0xe0,0x00,0x80,0x78,0x80,0x00,0x80,0x78,0x80,0x48,0x80,0x78,0x80};
const u8g_fntpgm_uint8_t fontpage_276_138_138[45] U8G_FONT_SECTION("fontpage_276_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xc0,0xf2,0x40,0x02,0x40,0xf2,0x40,0x02,
0x40,0xff,0xc0,0x02,0x40,0xf2,0x40,0x92,0x60,0xf2,0x60,0x92,0x20};
const u8g_fntpgm_uint8_t fontpage_276_152_152[45] U8G_FONT_SECTION("fontpage_276_152_152") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0xf7,0xc0,0x00,0x40,0xf0,0x40,0x07,
0xc0,0xf4,0x40,0x04,0x00,0xf4,0x00,0x94,0x20,0xf4,0x20,0x93,0xe0};
const u8g_fntpgm_uint8_t fontpage_276_173_173[45] U8G_FONT_SECTION("fontpage_276_173_173") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0xf4,0x80,0x04,0x80,0xf4,0xe0,0x08,
0x00,0xf7,0xc0,0x04,0x40,0xf2,0x80,0x91,0x00,0xf2,0x80,0x9c,0x60};
const u8g_fntpgm_uint8_t fontpage_276_230_230[45] U8G_FONT_SECTION("fontpage_276_230_230") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0xf0,0xa0,0x0f,0xe0,0xf0,0x80,0x07,
0x80,0xf2,0x80,0x02,0x80,0xf2,0x80,0x93,0xa0,0xfc,0x60,0x90,0x20};
const u8g_fntpgm_uint8_t fontpage_277_164_164[45] U8G_FONT_SECTION("fontpage_277_164_164") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0xf4,0x40,0x04,0x40,0xf7,0xc0,0x00,
0x00,0xf7,0xc0,0x01,0x00,0xff,0xe0,0x92,0x80,0xf4,0x40,0x98,0x20};
const u8g_fntpgm_uint8_t fontpage_277_191_191[45] U8G_FONT_SECTION("fontpage_277_191_191") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xe0,0xf4,0x20,0x05,0x20,0xf7,0xa0,0x05,
0x20,0xf7,0xe0,0x04,0x20,0xf7,0xa0,0x96,0xa0,0xf7,0xa0,0x98,0x60};
const u8g_fntpgm_uint8_t fontpage_277_203_203[45] U8G_FONT_SECTION("fontpage_277_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0xff,0xe0,0x01,0x00,0xf7,0xc0,0x01,
0x00,0xff,0xe0,0x04,0x40,0xf7,0xc0,0x94,0x40,0xf7,0xc0,0x94,0x40};
const u8g_fntpgm_uint8_t fontpage_278_240_240[45] U8G_FONT_SECTION("fontpage_278_240_240") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x40,0xff,0xe0,0x01,0x00,0xf7,0xc0,0x01,
0x00,0xff,0xe0,0x04,0xa0,0xff,0xe0,0x94,0xa0,0xfe,0x40,0x95,0xa0};
const u8g_fntpgm_uint8_t fontpage_279_138_138[45] U8G_FONT_SECTION("fontpage_279_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x40,0xae,0xa0,0x40,0x40,0xae,0xa0,0xea,
0xe0,0x5e,0x40,0xa0,0xa0,0x1f,0xc0,0x69,0x00,0x06,0x00,0x79,0xe0};
const u8g_fntpgm_uint8_t fontpage_281_199_199[45] U8G_FONT_SECTION("fontpage_281_199_199") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x88,0x00,0x5f,0xc0,0x22,0x40,0xff,0x00,0x61,
0xc0,0x3f,0x00,0x21,0x00,0x3f,0x00,0x21,0x00,0x3f,0x00,0xe1,0xc0};
const u8g_fntpgm_uint8_t fontpage_285_248_248[45] U8G_FONT_SECTION("fontpage_285_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xf8,0x80,0x23,0xe0,0xfa,0xa0,0xaa,
0xa0,0xfa,0xa0,0xab,0xe0,0xfa,0xa0,0x22,0xa0,0xfb,0xe0,0x22,0x20};
const u8g_fntpgm_uint8_t fontpage_286_137_137[45] U8G_FONT_SECTION("fontpage_286_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x80,0x7d,0x40,0x11,0x00,0xff,0xe0,0x11,
0x00,0xff,0x20,0x55,0x40,0x7c,0x80,0x54,0xa0,0xff,0x60,0x12,0x20};
const u8g_fntpgm_uint8_t fontpage_286_175_175[45] U8G_FONT_SECTION("fontpage_286_175_175") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0xfa,0x40,0x23,0xc0,0xf8,0x00,0xaf,
0xe0,0xfa,0x40,0xab,0xc0,0xfa,0x40,0x22,0xe0,0xff,0x40,0x20,0x40};
const u8g_fntpgm_uint8_t fontpage_286_184_184[45] U8G_FONT_SECTION("fontpage_286_184_184") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb8,0xb8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xfa,0x80,0x24,0x60,0xfb,0x80,0xae,
0x20,0xfa,0xa0,0xae,0xa0,0xfa,0xa0,0x2e,0xa0,0xfa,0x20,0x2a,0x60};
const u8g_fntpgm_uint8_t fontpage_287_209_209[45] U8G_FONT_SECTION("fontpage_287_209_209") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x24,0x00,0x07,0xe0,0xe4,
0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_287_212_212[45] U8G_FONT_SECTION("fontpage_287_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xe0,0xe6,
0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_128_128[45] U8G_FONT_SECTION("fontpage_288_128_128") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x8f,0xc0,0x48,0x40,0x4f,0xc0,0x08,0x40,0xcf,
0xc0,0x48,0x00,0x4b,0x40,0x48,0x80,0x4e,0x40,0xb0,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_159_159[45] U8G_FONT_SECTION("fontpage_288_159_159") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x3f,0xe0,0x21,0x00,0x0f,0xe0,0xe9,
0x20,0x2f,0xe0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_178_178[45] U8G_FONT_SECTION("fontpage_288_178_178") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x43,0x00,0x24,0x80,0x27,0xe0,0x0c,0x80,0xf7,
0xe0,0x24,0x80,0x27,0xe0,0x24,0x80,0x27,0xe0,0x54,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_203_203[45] U8G_FONT_SECTION("fontpage_288_203_203") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x29,0x20,0x2f,0xe0,0x05,0x40,0xe7,
0xc0,0x25,0x40,0x27,0xc0,0x21,0x00,0x2f,0xe0,0x51,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_212_212[45] U8G_FONT_SECTION("fontpage_288_212_212") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x27,0xc0,0x21,0x00,0x0f,0xe0,0xe2,
0x80,0x2f,0xe0,0x21,0x00,0x2f,0xe0,0x21,0x00,0x51,0x00,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_288_248_248[45] U8G_FONT_SECTION("fontpage_288_248_248") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4e,0xe0,0x2a,0xa0,0x2e,0xe0,0x08,0x80,0xea,
0xa0,0x2f,0xe0,0x22,0x80,0x2f,0xe0,0x22,0x40,0x54,0x20,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_289_132_132[45] U8G_FONT_SECTION("fontpage_289_132_132") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x9f,0xc0,0x55,0x40,0x5f,0xc0,0x00,0x00,0xff,
0xe0,0x28,0x80,0x2f,0xa0,0x27,0x40,0x2a,0x80,0x52,0x40,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_289_138_138[45] U8G_FONT_SECTION("fontpage_289_138_138") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x2f,0xc0,0x28,0x40,0x1f,0xe0,0xf4,
0xa0,0x29,0x40,0x3f,0xe0,0x22,0x00,0x27,0xc0,0x58,0xc0,0x8f,0xe0};
const u8g_fntpgm_uint8_t fontpage_289_232_232[45] U8G_FONT_SECTION("fontpage_289_232_232") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x20,0x45,0x20,0x29,0x40,0xff,
0x80,0x01,0x40,0x7d,0x20,0x45,0x20,0x45,0xa0,0x7d,0x40,0x45,0x00};
const u8g_fntpgm_uint8_t fontpage_291_202_202[45] U8G_FONT_SECTION("fontpage_291_202_202") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xc0,0xe2,0x80,0xa9,0x00,0x72,0x80,0xfd,
0x60,0x31,0x00,0x6f,0xc0,0xa1,0x00,0xaf,0xe0,0x21,0x00,0x21,0x00};
const u8g_fntpgm_uint8_t fontpage_291_205_205[45] U8G_FONT_SECTION("fontpage_291_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x24,0x80,0x3f,
0x80,0x24,0x80,0x3f,0x80,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_291_207_207[45] U8G_FONT_SECTION("fontpage_291_207_207") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,
0xe0,0x24,0x80,0x3f,0x80,0x24,0x80,0x7f,0xc0,0x04,0x00,0xff,0xe0};
const u8g_fntpgm_uint8_t fontpage_291_221_221[45] U8G_FONT_SECTION("fontpage_291_221_221") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x50,0x80,0x88,0x80,0x78,0x80,0x27,
0xe0,0xf8,0x80,0x20,0x80,0xa8,0x80,0x70,0x80,0x38,0x80,0xc0,0x80};
const u8g_fntpgm_uint8_t fontpage_292_149_149[45] U8G_FONT_SECTION("fontpage_292_149_149") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x31,0x40,0x49,0x40,0xf9,0x40,0x21,
0x40,0xff,0xc0,0x22,0x40,0xaa,0x40,0x72,0x40,0x3a,0x40,0xc7,0xe0};
const u8g_fntpgm_uint8_t fontpage_294_175_175[45] U8G_FONT_SECTION("fontpage_294_175_175") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x40,0x57,0xe0,0x8a,0x40,0x7a,0x40,0x27,
0xe0,0xf8,0x00,0x23,0xe0,0xaa,0x20,0x73,0xe0,0x3a,0x20,0xe3,0xe0};
const u8g_fntpgm_uint8_t fontpage_294_245_245[45] U8G_FONT_SECTION("fontpage_294_245_245") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2c,0x80,0x25,0xe0,0x54,0xa0,0xfb,0xe0,0x2c,
0xa0,0xf7,0xe0,0x24,0x80,0xb7,0xe0,0x6c,0x80,0x34,0x80,0xcb,0xe0};
const u8g_fntpgm_uint8_t fontpage_298_247_247[45] U8G_FONT_SECTION("fontpage_298_247_247") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x3f,0x80,0x20,0x00,0x3f,0x00,0x20,0x00,0x3f,
0x00,0x20,0x00,0xff,0xc0,0x24,0x80,0x23,0x00,0x29,0x00,0x30,0xc0};
const u8g_fntpgm_uint8_t fontpage_299_137_137[45] U8G_FONT_SECTION("fontpage_299_137_137") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb,
0xe0,0x82,0x20,0xbf,0xa0,0x8a,0x20,0x92,0x20,0xa2,0x20,0x86,0xe0};
const u8g_fntpgm_uint8_t fontpage_299_139_139[45] U8G_FONT_SECTION("fontpage_299_139_139") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb,
0xe0,0x80,0x20,0x9f,0x20,0x8a,0x20,0xbf,0xa0,0x8a,0x20,0x92,0xe0};
const u8g_fntpgm_uint8_t fontpage_299_147_147[45] U8G_FONT_SECTION("fontpage_299_147_147") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb,
0xe0,0x9f,0x20,0x91,0x20,0x9f,0x20,0x91,0x20,0x9f,0x20,0x80,0xe0};
const u8g_fntpgm_uint8_t fontpage_299_220_220[45] U8G_FONT_SECTION("fontpage_299_220_220") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xf5,
0xe0,0xaa,0xa0,0xbb,0xa0,0xaa,0xa0,0xbb,0xa0,0x8a,0x20,0xb2,0x60};
const u8g_fntpgm_uint8_t fontpage_300_205_205[45] U8G_FONT_SECTION("fontpage_300_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf2,0x00,0x93,0xe0,0xa6,0x40,0xc1,0x80,0xa6,
0x60,0x91,0x00,0x97,0xe0,0xd5,0x00,0xaf,0xe0,0x81,0x00,0x81,0x00};
const u8g_fntpgm_uint8_t fontpage_300_228_228[45] U8G_FONT_SECTION("fontpage_300_228_228") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xcb,0xa0,0xa1,
0x00,0x9f,0xe0,0x91,0x00,0xe5,0x40,0x89,0x20,0x91,0x20,0x83,0x00};
const u8g_fntpgm_uint8_t fontpage_301_217_217[45] U8G_FONT_SECTION("fontpage_301_217_217") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x3f,0xe0,0x6a,0x80,0xbf,0xc0,0x2a,
0x80,0x3f,0xe0,0x00,0x00,0x3f,0xc0,0x08,0x80,0x07,0x00,0x78,0xe0};
const u8g_fntpgm_uint8_t fontpage_301_251_251[45] U8G_FONT_SECTION("fontpage_301_251_251") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0xa4,0xa0,0x7f,
0xc0,0x44,0x40,0x7f,0xc0,0x44,0x40,0x7f,0xc0,0x04,0x20,0x07,0xe0};
const u8g_fntpgm_uint8_t fontpage_302_210_210[45] U8G_FONT_SECTION("fontpage_302_210_210") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04,
0x00,0xff,0xe0,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80};
const u8g_fntpgm_uint8_t fontpage_302_222_222[45] U8G_FONT_SECTION("fontpage_302_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,
0x00,0x7b,0xc0,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,0x00};
const u8g_fntpgm_uint8_t fontpage_302_226_226[45] U8G_FONT_SECTION("fontpage_302_226_226") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00,
0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x08,0x00,0x10,0x00,0xff,0xc0,0x92,
0x40,0x9e,0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0xff,0xc0,0x80,0x40};
const u8g_fntpgm_uint8_t fontpage_304_133_133[45] U8G_FONT_SECTION("fontpage_304_133_133") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf9,0x00,0x27,0xe0,0x24,0x20,0x27,
0xe0,0x24,0x20,0x3f,0xe0,0xc4,0x20,0x07,0xe0,0x02,0x40,0x0c,0x20};
const u8g_fntpgm_uint8_t fontpage_304_144_144[45] U8G_FONT_SECTION("fontpage_304_144_144") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x91,0x00,0x67,0xc0,0x24,0x40,0xff,
0xc0,0x24,0x40,0x27,0xc0,0x24,0x40,0x27,0xc0,0x22,0x80,0xec,0x60};
const u8g_fntpgm_uint8_t fontpage_304_205_205[45] U8G_FONT_SECTION("fontpage_304_205_205") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xe0,0xfc,0x80,0xa7,0xe0,0x3a,0x20,0x4b,
0xe0,0xb2,0x20,0x4b,0xe0,0xfe,0x20,0x4b,0xe0,0x79,0x40,0x4e,0x20};
const u8g_fntpgm_uint8_t fontpage_304_222_222[45] U8G_FONT_SECTION("fontpage_304_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xab,0xe0,0x70,0x80,0x23,0xe0,0xfa,0x20,0x73,
0xe0,0xaa,0x20,0x23,0xe0,0xfa,0x20,0x23,0xe0,0x51,0x40,0x8e,0x20};
const u8g_fntpgm_uint8_t fontpage_305_132_132[45] U8G_FONT_SECTION("fontpage_305_132_132") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x10,0x80,0x63,0xe0,0x22,0x20,0xfa,
0xa0,0x2a,0xa0,0x22,0xa0,0x22,0xa0,0x22,0xa0,0x21,0x40,0x66,0x20};
const u8g_fntpgm_uint8_t fontpage_305_168_168[45] U8G_FONT_SECTION("fontpage_305_168_168") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xc0,0x21,0x40,0x2e,0x40,0x24,0x40,0x3f,
0x40,0x35,0x40,0x3f,0x40,0x25,0x40,0x27,0x60,0x5c,0xa0,0x88,0x20};
const u8g_fntpgm_uint8_t fontpage_305_253_253[45] U8G_FONT_SECTION("fontpage_305_253_253") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x52,0x00,0xab,0xe0,0xfc,0x20,0x8b,
0xa0,0xfa,0xa0,0x8b,0xa0,0xfa,0x40,0x92,0x20,0xaa,0x20,0xc9,0xe0};
const u8g_fntpgm_uint8_t fontpage_307_172_172[45] U8G_FONT_SECTION("fontpage_307_172_172") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xc0,0x24,0x00,0x3f,0x80,0x24,0x00,0x3f,
0x80,0x24,0x00,0x3f,0xe0,0x00,0x20,0x55,0x20,0x4a,0xa0,0x8a,0xc0};
const u8g_fntpgm_uint8_t fontpage_308_197_197[45] U8G_FONT_SECTION("fontpage_308_197_197") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x54,0x00,0x7d,0xc0,0x55,0x40,0x7d,
0xc0,0x54,0x00,0x7f,0xe0,0x5e,0xa0,0xaf,0xe0,0xac,0x00,0x17,0xe0};
const u8g_fntpgm_uint8_t fontpage_309_216_216[45] U8G_FONT_SECTION("fontpage_309_216_216") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x1f,0x00,0x11,
0x00,0x7f,0xc0,0x40,0x40,0x5f,0x40,0x51,0x40,0x5f,0x40,0x40,0xc0};
const u8g_fntpgm_uint8_t fontpage_317_196_196[45] U8G_FONT_SECTION("fontpage_317_196_196") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7f,0xc0,0x11,0x00,0xff,0xe0,0x04,
0x00,0x3f,0x80,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80,0x60,0xc0};
const u8g_fntpgm_uint8_t fontpage_317_222_222[45] U8G_FONT_SECTION("fontpage_317_222_222") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00,
0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf8,0x80,0xa8,0x80,0xf8,0xe0,0xa8,0x80,0xf8,
0x80,0x23,0xe0,0xfa,0x20,0x22,0x20,0xfa,0x20,0x52,0x20,0xab,0xe0};
const u8g_fntpgm_uint8_t fontpage_510_154_154[30] U8G_FONT_SECTION("fontpage_510_154_154") = {
0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00,
0x00,0x02,0x07,0x07,0x0c,0x06,0x01,0xc0,0xc0,0x00,0x00,0x00,0xc0,0xc0};
#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}
static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {
FONTDATA_ITEM(69, 191, 191, fontpage_69_191_191), // '⊿' -- '⊿'
FONTDATA_ITEM(156, 128, 128, fontpage_156_128_128), // '一' -- '一'
FONTDATA_ITEM(156, 137, 139, fontpage_156_137_139), // '三' -- '下'
FONTDATA_ITEM(156, 166, 166, fontpage_156_166_166), // '並' -- '並'
FONTDATA_ITEM(156, 170, 170, fontpage_156_170_170), // '个' -- '个'
FONTDATA_ITEM(156, 173, 173, fontpage_156_173_173), // '中' -- '中'
FONTDATA_ITEM(156, 187, 187, fontpage_156_187_187), // '主' -- '主'
FONTDATA_ITEM(156, 203, 203, fontpage_156_203_203), // '之' -- '之'
FONTDATA_ITEM(157, 174, 174, fontpage_157_174_174), // '亮' -- '亮'
FONTDATA_ITEM(157, 228, 228, fontpage_157_228_228), // '令' -- '令'
FONTDATA_ITEM(157, 253, 253, fontpage_157_253_253), // '份' -- '份'
FONTDATA_ITEM(158, 145, 145, fontpage_158_145_145), // '休' -- '休'
FONTDATA_ITEM(158, 205, 206, fontpage_158_205_206), // '位' -- '低'
FONTDATA_ITEM(158, 220, 220, fontpage_158_220_220), // '作' -- '作'
FONTDATA_ITEM(159, 134, 134, fontpage_159_134_134), // '來' -- '來'
FONTDATA_ITEM(159, 155, 155, fontpage_159_155_155), // '供' -- '供'
FONTDATA_ITEM(159, 221, 221, fontpage_159_221_221), // '保' -- '保'
FONTDATA_ITEM(159, 225, 225, fontpage_159_225_225), // '信' -- '信'
FONTDATA_ITEM(160, 139, 139, fontpage_160_139_139), // '個' -- '個'
FONTDATA_ITEM(160, 188, 188, fontpage_160_188_188), // '值' -- '值'
FONTDATA_ITEM(160, 207, 207, fontpage_160_207_207), // '偏' -- '偏'
FONTDATA_ITEM(160, 220, 220, fontpage_160_220_220), // '停' -- '停'
FONTDATA_ITEM(161, 153, 153, fontpage_161_153_153), // '備' -- '備'
FONTDATA_ITEM(161, 179, 179, fontpage_161_179_179), // '傳' -- '傳'
FONTDATA_ITEM(162, 178, 178, fontpage_162_178_178), // '儲' -- '儲'
FONTDATA_ITEM(162, 197, 197, fontpage_162_197_197), // '充' -- '充'
FONTDATA_ITEM(162, 200, 200, fontpage_162_200_200), // '先' -- '先'
FONTDATA_ITEM(162, 229, 229, fontpage_162_229_229), // '入' -- '入'
FONTDATA_ITEM(162, 232, 232, fontpage_162_232_232), // '全' -- '全'
FONTDATA_ITEM(162, 241, 241, fontpage_162_241_241), // '共' -- '共'
FONTDATA_ITEM(162, 247, 247, fontpage_162_247_247), // '具' -- '具'
FONTDATA_ITEM(163, 183, 183, fontpage_163_183_183), // '冷' -- '冷'
FONTDATA_ITEM(163, 198, 198, fontpage_163_198_198), // '准' -- '准'
FONTDATA_ITEM(163, 250, 250, fontpage_163_250_250), // '出' -- '出'
FONTDATA_ITEM(164, 134, 134, fontpage_164_134_134), // '分' -- '分'
FONTDATA_ITEM(164, 151, 151, fontpage_164_151_151), // '列' -- '列'
FONTDATA_ITEM(164, 157, 157, fontpage_164_157_157), // '初' -- '初'
FONTDATA_ITEM(164, 176, 176, fontpage_164_176_176), // '到' -- '到'
FONTDATA_ITEM(164, 182, 183, fontpage_164_182_183), // '制' -- '刷'
FONTDATA_ITEM(164, 245, 245, fontpage_164_245_245), // '創' -- '創'
FONTDATA_ITEM(165, 155, 155, fontpage_165_155_155), // '力' -- '力'
FONTDATA_ITEM(165, 160, 160, fontpage_165_160_160), // '加' -- '加'
FONTDATA_ITEM(165, 168, 168, fontpage_165_168_168), // '动' -- '动'
FONTDATA_ITEM(165, 213, 213, fontpage_165_213_213), // '動' -- '動'
FONTDATA_ITEM(166, 150, 150, fontpage_166_150_150), // '化' -- '化'
FONTDATA_ITEM(166, 202, 202, fontpage_166_202_202), // '半' -- '半'
FONTDATA_ITEM(166, 212, 212, fontpage_166_212_212), // '協' -- '協'
FONTDATA_ITEM(166, 225, 225, fontpage_166_225_225), // '卡' -- '卡'
FONTDATA_ITEM(166, 240, 240, fontpage_166_240_240), // '印' -- '印'
FONTDATA_ITEM(166, 248, 248, fontpage_166_248_248), // '卸' -- '卸'
FONTDATA_ITEM(167, 159, 159, fontpage_167_159_159), // '原' -- '原'
FONTDATA_ITEM(167, 214, 214, fontpage_167_214_214), // '取' -- '取'
FONTDATA_ITEM(167, 240, 240, fontpage_167_240_240), // '台' -- '台'
FONTDATA_ITEM(168, 136, 136, fontpage_168_136_136), // '合' -- '合'
FONTDATA_ITEM(168, 253, 253, fontpage_168_253_253), // '命' -- '命'
FONTDATA_ITEM(169, 140, 140, fontpage_169_140_140), // '和' -- '和'
FONTDATA_ITEM(170, 223, 223, fontpage_170_223_223), // '啟' -- '啟'
FONTDATA_ITEM(171, 174, 174, fontpage_171_174_174), // '單' -- '單'
FONTDATA_ITEM(172, 180, 180, fontpage_172_180_180), // '嘴' -- '嘴'
FONTDATA_ITEM(172, 244, 244, fontpage_172_244_244), // '噴' -- '噴'
FONTDATA_ITEM(173, 222, 222, fontpage_173_222_222), // '回' -- '回'
FONTDATA_ITEM(173, 224, 224, fontpage_173_224_224), // '因' -- '因'
FONTDATA_ITEM(174, 150, 150, fontpage_174_150_150), // '圖' -- '圖'
FONTDATA_ITEM(174, 168, 168, fontpage_174_168_168), // '在' -- '在'
FONTDATA_ITEM(175, 139, 139, fontpage_175_139_139), // '型' -- '型'
FONTDATA_ITEM(176, 202, 202, fontpage_176_202_202), // '塊' -- '塊'
FONTDATA_ITEM(176, 235, 235, fontpage_176_235_235), // '填' -- '填'
FONTDATA_ITEM(177, 138, 138, fontpage_177_138_138), // '墊' -- '墊'
FONTDATA_ITEM(178, 150, 150, fontpage_178_150_150), // '外' -- '外'
FONTDATA_ITEM(178, 154, 154, fontpage_178_154_154), // '多' -- '多'
FONTDATA_ITEM(178, 167, 167, fontpage_178_167_167), // '大' -- '大'
FONTDATA_ITEM(178, 169, 170, fontpage_178_169_170), // '天' -- '太'
FONTDATA_ITEM(178, 177, 177, fontpage_178_177_177), // '失' -- '失'
FONTDATA_ITEM(179, 203, 203, fontpage_179_203_203), // '始' -- '始'
FONTDATA_ITEM(182, 208, 208, fontpage_182_208_208), // '子' -- '子'
FONTDATA_ITEM(182, 216, 216, fontpage_182_216_216), // '存' -- '存'
FONTDATA_ITEM(183, 137, 137, fontpage_183_137_137), // '安' -- '安'
FONTDATA_ITEM(183, 140, 140, fontpage_183_140_140), // '完' -- '完'
FONTDATA_ITEM(183, 154, 154, fontpage_183_154_154), // '定' -- '定'
FONTDATA_ITEM(183, 162, 162, fontpage_183_162_162), // '客' -- '客'
FONTDATA_ITEM(183, 185, 185, fontpage_183_185_185), // '容' -- '容'
FONTDATA_ITEM(184, 141, 141, fontpage_184_141_141), // '對' -- '對'
FONTDATA_ITEM(184, 143, 143, fontpage_184_143_143), // '小' -- '小'
FONTDATA_ITEM(184, 177, 177, fontpage_184_177_177), // '就' -- '就'
FONTDATA_ITEM(187, 229, 229, fontpage_187_229_229), // '工' -- '工'
FONTDATA_ITEM(187, 242, 242, fontpage_187_242_242), // '已' -- '已'
FONTDATA_ITEM(188, 243, 243, fontpage_188_243_243), // '平' -- '平'
FONTDATA_ITEM(189, 138, 138, fontpage_189_138_138), // '床' -- '床'
FONTDATA_ITEM(189, 166, 166, fontpage_189_166_166), // '度' -- '度'
FONTDATA_ITEM(189, 226, 226, fontpage_189_226_226), // '廢' -- '廢'
FONTDATA_ITEM(189, 250, 250, fontpage_189_250_250), // '建' -- '建'
FONTDATA_ITEM(191, 133, 133, fontpage_191_133_133), // '待' -- '待'
FONTDATA_ITEM(191, 140, 140, fontpage_191_140_140), // '後' -- '後'
FONTDATA_ITEM(191, 145, 145, fontpage_191_145_145), // '徑' -- '徑'
FONTDATA_ITEM(191, 158, 158, fontpage_191_158_158), // '從' -- '從'
FONTDATA_ITEM(191, 169, 169, fontpage_191_169_169), // '復' -- '復'
FONTDATA_ITEM(191, 174, 174, fontpage_191_174_174), // '微' -- '微'
FONTDATA_ITEM(191, 195, 195, fontpage_191_195_195), // '心' -- '心'
FONTDATA_ITEM(192, 167, 167, fontpage_192_167_167), // '性' -- '性'
FONTDATA_ITEM(192, 226, 226, fontpage_192_226_226), // '恢' -- '恢'
FONTDATA_ITEM(192, 239, 239, fontpage_192_239_239), // '息' -- '息'
FONTDATA_ITEM(195, 182, 182, fontpage_195_182_182), // '憶' -- '憶'
FONTDATA_ITEM(195, 201, 201, fontpage_195_201_201), // '應' -- '應'
FONTDATA_ITEM(196, 144, 144, fontpage_196_144_144), // '成' -- '成'
FONTDATA_ITEM(196, 182, 182, fontpage_196_182_182), // '戶' -- '戶'
FONTDATA_ITEM(196, 192, 192, fontpage_196_192_192), // '所' -- '所'
FONTDATA_ITEM(196, 199, 199, fontpage_196_199_199), // '扇' -- '扇'
FONTDATA_ITEM(196, 203, 203, fontpage_196_203_203), // '手' -- '手'
FONTDATA_ITEM(196, 211, 211, fontpage_196_211_211), // '打' -- '打'
FONTDATA_ITEM(196, 231, 231, fontpage_196_231_231), // '执' -- '执'
FONTDATA_ITEM(196, 249, 249, fontpage_196_249_249), // '批' -- '批'
FONTDATA_ITEM(197, 150, 150, fontpage_197_150_150), // '抖' -- '抖'
FONTDATA_ITEM(197, 189, 189, fontpage_197_189_189), // '抽' -- '抽'
FONTDATA_ITEM(197, 212, 212, fontpage_197_212_212), // '拔' -- '拔'
FONTDATA_ITEM(198, 137, 137, fontpage_198_137_137), // '按' -- '按'
FONTDATA_ITEM(199, 137, 137, fontpage_199_137_137), // '掉' -- '掉'
FONTDATA_ITEM(199, 162, 162, fontpage_199_162_162), // '探' -- '探'
FONTDATA_ITEM(199, 167, 167, fontpage_199_167_167), // '控' -- '控'
FONTDATA_ITEM(199, 210, 210, fontpage_199_210_210), // '插' -- '插'
FONTDATA_ITEM(199, 219, 219, fontpage_199_219_219), // '換' -- '換'
FONTDATA_ITEM(201, 199, 199, fontpage_201_199_199), // '擇' -- '擇'
FONTDATA_ITEM(201, 202, 203, fontpage_201_202_203), // '擊' -- '擋'
FONTDATA_ITEM(201, 224, 224, fontpage_201_224_224), // '擠' -- '擠'
FONTDATA_ITEM(202, 190, 190, fontpage_202_190_190), // '放' -- '放'
FONTDATA_ITEM(202, 215, 215, fontpage_202_215_215), // '敗' -- '敗'
FONTDATA_ITEM(202, 244, 244, fontpage_202_244_244), // '整' -- '整'
FONTDATA_ITEM(202, 248, 248, fontpage_202_248_248), // '數' -- '數'
FONTDATA_ITEM(203, 153, 153, fontpage_203_153_153), // '料' -- '料'
FONTDATA_ITEM(203, 156, 156, fontpage_203_156_156), // '斜' -- '斜'
FONTDATA_ITEM(203, 176, 176, fontpage_203_176_176), // '新' -- '新'
FONTDATA_ITEM(203, 188, 188, fontpage_203_188_188), // '於' -- '於'
FONTDATA_ITEM(204, 142, 142, fontpage_204_142_142), // '明' -- '明'
FONTDATA_ITEM(204, 194, 194, fontpage_204_194_194), // '時' -- '時'
FONTDATA_ITEM(205, 171, 171, fontpage_205_171_171), // '暫' -- '暫'
FONTDATA_ITEM(205, 244, 244, fontpage_205_244_244), // '更' -- '更'
FONTDATA_ITEM(206, 128, 128, fontpage_206_128_128), // '最' -- '最'
FONTDATA_ITEM(206, 137, 137, fontpage_206_137_137), // '有' -- '有'
FONTDATA_ITEM(206, 255, 255, fontpage_206_255_255), // '板' -- '板'
FONTDATA_ITEM(207, 241, 241, fontpage_207_241_241), // '柱' -- '柱'
FONTDATA_ITEM(208, 161, 161, fontpage_208_161_161), // '校' -- '校'
FONTDATA_ITEM(208, 188, 188, fontpage_208_188_188), // '格' -- '格'
FONTDATA_ITEM(209, 157, 157, fontpage_209_157_157), // '條' -- '條'
FONTDATA_ITEM(211, 253, 253, fontpage_211_253_253), // '槽' -- '槽'
FONTDATA_ITEM(212, 217, 217, fontpage_212_217_217), // '橙' -- '橙'
FONTDATA_ITEM(212, 223, 223, fontpage_212_223_223), // '機' -- '機'
FONTDATA_ITEM(213, 162, 162, fontpage_213_162_162), // '檢' -- '檢'
FONTDATA_ITEM(214, 226, 226, fontpage_214_226_226), // '止' -- '止'
FONTDATA_ITEM(214, 229, 229, fontpage_214_229_229), // '步' -- '步'
FONTDATA_ITEM(214, 248, 248, fontpage_214_248_248), // '歸' -- '歸'
FONTDATA_ITEM(215, 188, 188, fontpage_215_188_188), // '殼' -- '殼'
FONTDATA_ITEM(215, 212, 212, fontpage_215_212_212), // '比' -- '比'
FONTDATA_ITEM(217, 146, 146, fontpage_217_146_146), // '沒' -- '沒'
FONTDATA_ITEM(218, 187, 187, fontpage_218_187_187), // '活' -- '活'
FONTDATA_ITEM(219, 136, 136, fontpage_219_136_136), // '消' -- '消'
FONTDATA_ITEM(219, 188, 188, fontpage_219_188_188), // '涼' -- '涼'
FONTDATA_ITEM(219, 225, 225, fontpage_219_225_225), // '淡' -- '淡'
FONTDATA_ITEM(220, 133, 133, fontpage_220_133_133), // '清' -- '清'
FONTDATA_ITEM(220, 172, 172, fontpage_220_172_172), // '測' -- '測'
FONTDATA_ITEM(221, 144, 144, fontpage_221_144_144), // '源' -- '源'
FONTDATA_ITEM(221, 150, 150, fontpage_221_150_150), // '準' -- '準'
FONTDATA_ITEM(221, 171, 171, fontpage_221_171_171), // '溫' -- '溫'
FONTDATA_ITEM(223, 192, 192, fontpage_223_192_192), // '激' -- '激'
FONTDATA_ITEM(224, 237, 237, fontpage_224_237_237), // '灭' -- '灭'
FONTDATA_ITEM(224, 239, 239, fontpage_224_239_239), // '灯' -- '灯'
FONTDATA_ITEM(226, 161, 161, fontpage_226_161_161), // '無' -- '無'
FONTDATA_ITEM(227, 177, 177, fontpage_227_177_177), // '熱' -- '熱'
FONTDATA_ITEM(227, 200, 200, fontpage_227_200_200), // '燈' -- '燈'
FONTDATA_ITEM(228, 199, 199, fontpage_228_199_199), // '片' -- '片'
FONTDATA_ITEM(231, 135, 135, fontpage_231_135_135), // '率' -- '率'
FONTDATA_ITEM(234, 168, 168, fontpage_234_168_168), // '用' -- '用'
FONTDATA_ITEM(234, 204, 204, fontpage_234_204_204), // '界' -- '界'
FONTDATA_ITEM(236, 253, 253, fontpage_236_253_253), // '白' -- '白'
FONTDATA_ITEM(237, 132, 132, fontpage_237_132_132), // '的' -- '的'
FONTDATA_ITEM(237, 244, 244, fontpage_237_244_244), // '直' -- '直'
FONTDATA_ITEM(238, 129, 129, fontpage_238_129_129), // '省' -- '省'
FONTDATA_ITEM(238, 160, 160, fontpage_238_160_160), // '眠' -- '眠'
FONTDATA_ITEM(240, 141, 141, fontpage_240_141_141), // '砍' -- '砍'
FONTDATA_ITEM(243, 251, 251, fontpage_243_251_251), // '移' -- '移'
FONTDATA_ITEM(244, 205, 205, fontpage_244_205_205), // '積' -- '積'
FONTDATA_ITEM(245, 239, 239, fontpage_245_239_239), // '端' -- '端'
FONTDATA_ITEM(246, 201, 201, fontpage_246_201_201), // '等' -- '等'
FONTDATA_ITEM(247, 161, 161, fontpage_247_161_161), // '管' -- '管'
FONTDATA_ITEM(249, 251, 251, fontpage_249_251_251), // '系' -- '系'
FONTDATA_ITEM(250, 171, 171, fontpage_250_171_171), // '紫' -- '紫'
FONTDATA_ITEM(250, 176, 176, fontpage_250_176_176), // '細' -- '細'
FONTDATA_ITEM(250, 194, 194, fontpage_250_194_194), // '終' -- '終'
FONTDATA_ITEM(250, 241, 242, fontpage_250_241_242), // '統' -- '絲'
FONTDATA_ITEM(251, 178, 178, fontpage_251_178_178), // '網' -- '網'
FONTDATA_ITEM(251, 210, 210, fontpage_251_210_210), // '緒' -- '緒'
FONTDATA_ITEM(251, 218, 218, fontpage_251_218_218), // '線' -- '線'
FONTDATA_ITEM(251, 232, 232, fontpage_251_232_232), // '編' -- '編'
FONTDATA_ITEM(252, 174, 174, fontpage_252_174_174), // '縮' -- '縮'
FONTDATA_ITEM(252, 189, 189, fontpage_252_189_189), // '總' -- '總'
FONTDATA_ITEM(252, 252, 252, fontpage_252_252_252), // '繼' -- '繼'
FONTDATA_ITEM(253, 140, 140, fontpage_253_140_140), // '續' -- '續'
FONTDATA_ITEM(253, 162, 162, fontpage_253_162_162), // '红' -- '红'
FONTDATA_ITEM(253, 255, 255, fontpage_253_255_255), // '绿' -- '绿'
FONTDATA_ITEM(254, 186, 186, fontpage_254_186_186), // '缺' -- '缺'
FONTDATA_ITEM(254, 209, 209, fontpage_254_209_209), // '网' -- '网'
FONTDATA_ITEM(254, 238, 238, fontpage_254_238_238), // '置' -- '置'
FONTDATA_ITEM(254, 242, 242, fontpage_254_242_242), // '署' -- '署'
FONTDATA_ITEM(256, 240, 240, fontpage_256_240_240), // '聰' -- '聰'
FONTDATA_ITEM(259, 234, 234, fontpage_259_234_234), // '自' -- '自'
FONTDATA_ITEM(265, 221, 221, fontpage_265_221_221), // '蓝' -- '蓝'
FONTDATA_ITEM(272, 204, 204, fontpage_272_204_204), // '行' -- '行'
FONTDATA_ITEM(272, 232, 232, fontpage_272_232_232), // '表' -- '表'
FONTDATA_ITEM(273, 171, 171, fontpage_273_171_171), // '被' -- '被'
FONTDATA_ITEM(273, 197, 197, fontpage_273_197_197), // '装' -- '装'
FONTDATA_ITEM(273, 221, 221, fontpage_273_221_221), // '裝' -- '裝'
FONTDATA_ITEM(274, 135, 135, fontpage_274_135_135), // '複' -- '複'
FONTDATA_ITEM(275, 210, 210, fontpage_275_210_210), // '角' -- '角'
FONTDATA_ITEM(276, 136, 136, fontpage_276_136_136), // '計' -- '計'
FONTDATA_ITEM(276, 138, 138, fontpage_276_138_138), // '訊' -- '訊'
FONTDATA_ITEM(276, 152, 152, fontpage_276_152_152), // '記' -- '記'
FONTDATA_ITEM(276, 173, 173, fontpage_276_173_173), // '設' -- '設'
FONTDATA_ITEM(276, 230, 230, fontpage_276_230_230), // '試' -- '試'
FONTDATA_ITEM(277, 164, 164, fontpage_277_164_164), // '誤' -- '誤'
FONTDATA_ITEM(277, 191, 191, fontpage_277_191_191), // '調' -- '調'
FONTDATA_ITEM(277, 203, 203, fontpage_277_203_203), // '請' -- '請'
FONTDATA_ITEM(278, 240, 240, fontpage_278_240_240), // '議' -- '議'
FONTDATA_ITEM(279, 138, 138, fontpage_279_138_138), // '變' -- '變'
FONTDATA_ITEM(281, 199, 199, fontpage_281_199_199), // '資' -- '資'
FONTDATA_ITEM(285, 248, 248, fontpage_285_248_248), // '軸' -- '軸'
FONTDATA_ITEM(286, 137, 137, fontpage_286_137_137), // '載' -- '載'
FONTDATA_ITEM(286, 175, 175, fontpage_286_175_175), // '輯' -- '輯'
FONTDATA_ITEM(286, 184, 184, fontpage_286_184_184), // '輸' -- '輸'
FONTDATA_ITEM(287, 209, 209, fontpage_287_209_209), // '近' -- '近'
FONTDATA_ITEM(287, 212, 212, fontpage_287_212_212), // '返' -- '返'
FONTDATA_ITEM(288, 128, 128, fontpage_288_128_128), // '退' -- '退'
FONTDATA_ITEM(288, 159, 159, fontpage_288_159_159), // '速' -- '速'
FONTDATA_ITEM(288, 178, 178, fontpage_288_178_178), // '進' -- '進'
FONTDATA_ITEM(288, 203, 203, fontpage_288_203_203), // '運' -- '運'
FONTDATA_ITEM(288, 212, 212, fontpage_288_212_212), // '達' -- '達'
FONTDATA_ITEM(288, 248, 248, fontpage_288_248_248), // '選' -- '選'
FONTDATA_ITEM(289, 132, 132, fontpage_289_132_132), // '還' -- '還'
FONTDATA_ITEM(289, 138, 138, fontpage_289_138_138), // '邊' -- '邊'
FONTDATA_ITEM(289, 232, 232, fontpage_289_232_232), // '部' -- '部'
FONTDATA_ITEM(291, 202, 202, fontpage_291_202_202), // '释' -- '释'
FONTDATA_ITEM(291, 205, 205, fontpage_291_205_205), // '重' -- '重'
FONTDATA_ITEM(291, 207, 207, fontpage_291_207_207), // '量' -- '量'
FONTDATA_ITEM(291, 221, 221, fontpage_291_221_221), // '針' -- '針'
FONTDATA_ITEM(292, 149, 149, fontpage_292_149_149), // '鈕' -- '鈕'
FONTDATA_ITEM(294, 175, 175, fontpage_294_175_175), // '錯' -- '錯'
FONTDATA_ITEM(294, 245, 245, fontpage_294_245_245), // '鍵' -- '鍵'
FONTDATA_ITEM(298, 247, 247, fontpage_298_247_247), // '長' -- '長'
FONTDATA_ITEM(299, 137, 137, fontpage_299_137_137), // '閉' -- '閉'
FONTDATA_ITEM(299, 139, 139, fontpage_299_139_139), // '開' -- '開'
FONTDATA_ITEM(299, 147, 147, fontpage_299_147_147), // '間' -- '間'
FONTDATA_ITEM(299, 220, 220, fontpage_299_220_220), // '關' -- '關'
FONTDATA_ITEM(300, 205, 205, fontpage_300_205_205), // '降' -- '降'
FONTDATA_ITEM(300, 228, 228, fontpage_300_228_228), // '除' -- '除'
FONTDATA_ITEM(301, 217, 217, fontpage_301_217_217), // '雙' -- '雙'
FONTDATA_ITEM(301, 251, 251, fontpage_301_251_251), // '電' -- '電'
FONTDATA_ITEM(302, 210, 210, fontpage_302_210_210), // '青' -- '青'
FONTDATA_ITEM(302, 222, 222, fontpage_302_222_222), // '非' -- '非'
FONTDATA_ITEM(302, 226, 226, fontpage_302_226_226), // '面' -- '面'
FONTDATA_ITEM(304, 133, 133, fontpage_304_133_133), // '項' -- '項'
FONTDATA_ITEM(304, 144, 144, fontpage_304_144_144), // '預' -- '預'
FONTDATA_ITEM(304, 205, 205, fontpage_304_205_205), // '額' -- '額'
FONTDATA_ITEM(304, 222, 222, fontpage_304_222_222), // '類' -- '類'
FONTDATA_ITEM(305, 132, 132, fontpage_305_132_132), // '预' -- '预'
FONTDATA_ITEM(305, 168, 168, fontpage_305_168_168), // '風' -- '風'
FONTDATA_ITEM(305, 253, 253, fontpage_305_253_253), // '飽' -- '飽'
FONTDATA_ITEM(307, 172, 172, fontpage_307_172_172), // '馬' -- '馬'
FONTDATA_ITEM(308, 197, 197, fontpage_308_197_197), // '驅' -- '驅'
FONTDATA_ITEM(309, 216, 216, fontpage_309_216_216), // '高' -- '高'
FONTDATA_ITEM(317, 196, 196, fontpage_317_196_196), // '黄' -- '黄'
FONTDATA_ITEM(317, 222, 222, fontpage_317_222_222), // '點' -- '點'
FONTDATA_ITEM(510, 154, 154, fontpage_510_154_154), // '' -- ''
};

View file

@ -31,9 +31,9 @@
FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t x, const uint8_t y) { FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t x, const uint8_t y) {
const char * const str = itostr3(temp); const char * const str = itostr3(temp);
u8g.setPrintPos(x - (str[0] != ' ' ? 0 : str[1] != ' ' ? 1 : 2) * DOG_CHAR_WIDTH / 2, y); lcd_moveto(x - (str[0] != ' ' ? 0 : str[1] != ' ' ? 1 : 2) * DOG_CHAR_WIDTH / 2, y);
lcd_print(str); lcd_put_u8str(str);
lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); lcd_put_u8str_rom(PSTR(LCD_STR_DEGREE " "));
} }
#ifndef HEAT_INDICATOR_X #ifndef HEAT_INDICATOR_X
@ -84,17 +84,17 @@ FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, cons
FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) { FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) {
if (blink) if (blink)
lcd_printPGM(pstr); lcd_put_u8str_rom(pstr);
else { else {
if (!axis_homed[axis]) if (!axis_homed[axis])
u8g.print('?'); lcd_put_wchar('?');
else { else {
#if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) #if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING)
if (!axis_known_position[axis]) if (!axis_known_position[axis])
u8g.print(' '); lcd_put_wchar(' ');
else else
#endif #endif
lcd_printPGM(pstr); lcd_put_u8str_rom(pstr);
} }
} }
} }
@ -102,24 +102,24 @@ FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr,
inline void lcd_implementation_status_message(const bool blink) { inline void lcd_implementation_status_message(const bool blink) {
#if ENABLED(STATUS_MESSAGE_SCROLLING) #if ENABLED(STATUS_MESSAGE_SCROLLING)
static bool last_blink = false; static bool last_blink = false;
const uint8_t slen = lcd_strlen(lcd_status_message); const uint8_t slen = utf8_strlen(lcd_status_message);
const char *stat = lcd_status_message + status_scroll_pos; const char *stat = lcd_status_message + status_scroll_pos;
if (slen <= LCD_WIDTH) if (slen <= LCD_WIDTH)
lcd_print_utf(stat); // The string isn't scrolling lcd_put_u8str(stat); // The string isn't scrolling
else { else {
if (status_scroll_pos <= slen - LCD_WIDTH) if (status_scroll_pos <= slen - LCD_WIDTH)
lcd_print_utf(stat); // The string fills the screen lcd_put_u8str(stat); // The string fills the screen
else { else {
uint8_t chars = LCD_WIDTH; uint8_t chars = LCD_WIDTH;
if (status_scroll_pos < slen) { // First string still visible if (status_scroll_pos < slen) { // First string still visible
lcd_print_utf(stat); // The string leaves space lcd_put_u8str(stat); // The string leaves space
chars -= slen - status_scroll_pos; // Amount of space left chars -= slen - status_scroll_pos; // Amount of space left
} }
u8g.print('.'); // Always at 1+ spaces left, draw a dot lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot
if (--chars) { if (--chars) {
if (status_scroll_pos < slen + 1) // Draw a second dot if there's space if (status_scroll_pos < slen + 1) // Draw a second dot if there's space
--chars, u8g.print('.'); --chars, lcd_put_wchar('.');
if (chars) lcd_print_utf(lcd_status_message, chars); // Print a second copy of the message if (chars) lcd_put_u8str_max(lcd_status_message, chars); // Print a second copy of the message
} }
} }
if (last_blink != blink) { if (last_blink != blink) {
@ -131,7 +131,7 @@ inline void lcd_implementation_status_message(const bool blink) {
} }
#else #else
UNUSED(blink); UNUSED(blink);
lcd_print_utf(lcd_status_message); lcd_put_u8str(lcd_status_message);
#endif #endif
} }
@ -208,9 +208,9 @@ static void lcd_implementation_status_screen() {
// Fan // Fan
const int16_t per = ((fanSpeeds[0] + 1) * 100) / 256; const int16_t per = ((fanSpeeds[0] + 1) * 100) / 256;
if (per) { if (per) {
u8g.setPrintPos(STATUS_SCREEN_FAN_TEXT_X, STATUS_SCREEN_FAN_TEXT_Y); lcd_moveto(STATUS_SCREEN_FAN_TEXT_X, STATUS_SCREEN_FAN_TEXT_Y);
lcd_print(itostr3(per)); lcd_put_u8str(itostr3(per));
u8g.print('%'); lcd_put_wchar('%');
} }
} }
#endif #endif
@ -268,9 +268,9 @@ static void lcd_implementation_status_screen() {
#if ENABLED(DOGM_SD_PERCENT) #if ENABLED(DOGM_SD_PERCENT)
if (PAGE_CONTAINS(41, 48)) { if (PAGE_CONTAINS(41, 48)) {
// Percent complete // Percent complete
u8g.setPrintPos(55, 48); lcd_moveto(55, 48);
u8g.print(itostr3(progress_bar_percent)); lcd_put_u8str(itostr3(progress_bar_percent));
u8g.print('%'); lcd_put_wchar('%');
} }
#endif #endif
} }
@ -290,8 +290,8 @@ static void lcd_implementation_status_screen() {
duration_t elapsed = print_job_timer.duration(); duration_t elapsed = print_job_timer.duration();
bool has_days = (elapsed.value >= 60*60*24L); bool has_days = (elapsed.value >= 60*60*24L);
uint8_t len = elapsed.toDigital(buffer, has_days); uint8_t len = elapsed.toDigital(buffer, has_days);
u8g.setPrintPos(SD_DURATION_X, 48); lcd_moveto(SD_DURATION_X, 48);
lcd_print(buffer); lcd_put_u8str(buffer);
} }
#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY #endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY
@ -353,20 +353,20 @@ static void lcd_implementation_status_screen() {
u8g.setColorIndex(0); // white on black u8g.setColorIndex(0); // white on black
#endif #endif
u8g.setPrintPos(0 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); lcd_moveto(0 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE);
_draw_axis_label(X_AXIS, PSTR(MSG_X), blink); _draw_axis_label(X_AXIS, PSTR(MSG_X), blink);
u8g.setPrintPos(0 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); lcd_moveto(0 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE);
lcd_print(xstring); lcd_put_u8str(xstring);
u8g.setPrintPos(1 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); lcd_moveto(1 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE);
_draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink);
u8g.setPrintPos(1 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); lcd_moveto(1 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE);
lcd_print(ystring); lcd_put_u8str(ystring);
u8g.setPrintPos(2 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); lcd_moveto(2 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE);
_draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink);
u8g.setPrintPos(2 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); lcd_moveto(2 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE);
lcd_print(zstring); lcd_put_u8str(zstring);
#if DISABLED(XYZ_HOLLOW_FRAME) #if DISABLED(XYZ_HOLLOW_FRAME)
u8g.setColorIndex(1); // black on white u8g.setColorIndex(1); // black on white
@ -380,28 +380,28 @@ static void lcd_implementation_status_screen() {
if (PAGE_CONTAINS(51 - INFO_FONT_HEIGHT, 49)) { if (PAGE_CONTAINS(51 - INFO_FONT_HEIGHT, 49)) {
lcd_setFont(FONT_MENU); lcd_setFont(FONT_MENU);
u8g.setPrintPos(3, 50); lcd_moveto(3, 50);
lcd_print(LCD_STR_FEEDRATE[0]); lcd_put_wchar(LCD_STR_FEEDRATE[0]);
lcd_setFont(FONT_STATUSMENU); lcd_setFont(FONT_STATUSMENU);
u8g.setPrintPos(12, 50); lcd_moveto(12, 50);
lcd_print(itostr3(feedrate_percentage)); lcd_put_u8str(itostr3(feedrate_percentage));
u8g.print('%'); lcd_put_wchar('%');
// //
// Filament sensor display if SD is disabled // Filament sensor display if SD is disabled
// //
#if ENABLED(FILAMENT_LCD_DISPLAY) && DISABLED(SDSUPPORT) #if ENABLED(FILAMENT_LCD_DISPLAY) && DISABLED(SDSUPPORT)
u8g.setPrintPos(56, 50); lcd_moveto(56, 50);
lcd_print(wstring); lcd_put_u8str(wstring);
u8g.setPrintPos(102, 50); lcd_moveto(102, 50);
lcd_print(mstring); lcd_put_u8str(mstring);
u8g.print('%'); lcd_put_wchar('%');
lcd_setFont(FONT_MENU); lcd_setFont(FONT_MENU);
u8g.setPrintPos(47, 50); lcd_moveto(47, 50);
lcd_print(LCD_STR_FILAM_DIA); lcd_put_wchar(LCD_STR_FILAM_DIA[0]); // lcd_put_u8str_rom(PSTR(LCD_STR_FILAM_DIA));
u8g.setPrintPos(93, 50); lcd_moveto(93, 50);
lcd_print(LCD_STR_FILAM_MUL); lcd_put_wchar(LCD_STR_FILAM_MUL[0]);
#endif #endif
} }
@ -412,20 +412,20 @@ static void lcd_implementation_status_screen() {
#define STATUS_BASELINE (55 + INFO_FONT_HEIGHT) #define STATUS_BASELINE (55 + INFO_FONT_HEIGHT)
if (PAGE_CONTAINS(STATUS_BASELINE - (INFO_FONT_HEIGHT - 1), STATUS_BASELINE)) { if (PAGE_CONTAINS(STATUS_BASELINE - (INFO_FONT_HEIGHT - 1), STATUS_BASELINE)) {
u8g.setPrintPos(0, STATUS_BASELINE); lcd_moveto(0, STATUS_BASELINE);
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)
if (PENDING(millis(), previous_lcd_status_ms + 5000UL)) { //Display both Status message line and Filament display on the last line if (PENDING(millis(), previous_lcd_status_ms + 5000UL)) { //Display both Status message line and Filament display on the last line
lcd_implementation_status_message(blink); lcd_implementation_status_message(blink);
} }
else { else {
lcd_printPGM(PSTR(LCD_STR_FILAM_DIA)); lcd_put_u8str_rom(PSTR(LCD_STR_FILAM_DIA));
u8g.print(':'); lcd_put_wchar(':');
lcd_print(wstring); lcd_put_u8str(wstring);
lcd_printPGM(PSTR(" " LCD_STR_FILAM_MUL)); lcd_put_u8str_rom(PSTR(" " LCD_STR_FILAM_MUL));
u8g.print(':'); lcd_put_wchar(':');
lcd_print(mstring); lcd_put_u8str(mstring);
u8g.print('%'); lcd_put_wchar('%');
} }
#else #else
lcd_implementation_status_message(blink); lcd_implementation_status_message(blink);

View file

@ -0,0 +1,328 @@
/**
* @file fontutils.cpp
* @brief help functions for font and char
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2016-08-19
* @copyright GPL/BSD
*/
#include "../inc/MarlinConfigPre.h"
#include "../inc/MarlinConfig.h"
#if ENABLED(ULTRA_LCD)
#include "ultralcd.h"
#include "../Marlin.h"
#endif
#include "fontutils.h"
uint8_t read_byte_ram(uint8_t * str) { return *str; }
uint8_t read_byte_rom(uint8_t * str) { return pgm_read_byte(str); }
#if DEBUG
#ifdef ARDUINO
#include <Arduino.h>
#include <stdarg.h>
void serial_printf_P(const char *format, ...) {
static char buff[128];
va_list args;
va_start(args,format);
vsnprintf_P(buff,sizeof(buff),format,args);
va_end(args);
buff[sizeof(buff)/sizeof(buff[0])-1]='\0';
//Serial.print(buff);
SERIAL_ECHO(buff); SERIAL_EOL;
}
#endif
#endif
#ifdef __WIN32__ // or whatever
#define PRIiSZ "ld"
#define PRIuSZ "Iu"
#else
#define PRIiSZ "zd"
#define PRIuSZ "zu"
#endif
#define PRIiOFF "lld"
#define PRIuOFF "llu"
#define DBGMSG(a,b, ...) TRACE( #__VA_ARGS__ )
//typedef int (* pf_bsearch_cb_comp_t)(void *userdata, size_t idx, void * data_pin); /*"data_list[idx] - *data_pin"*/
/**
* @brief
*
* @param userdata :
* @param num_data :
* @param cb_comp :
* @param data_pinpoint :
* @param ret_idx : ;
*
* @return 0<0
*
* , psl->marr
*/
/**
* @brief Using binary search to find the position by data_pin
*
* @param userdata : User's data
* @param num_data : the item number of the sorted data
* @param cb_comp : the callback function to compare the user's data and pin
* @param data_pin : The reference data to be found
* @param ret_idx : the position of the required data; If failed, then it is the failed position, which is the insert position if possible.
*
* @return 0 on found, <0 on failed(fail position is saved by ret_idx)
*
* Using binary search to find the position by data_pin. The user's data should be sorted.
*/
int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, void *data_pinpoint, size_t *ret_idx) {
int retcomp;
FU_ASSERT(NULL != ret_idx);
/* 查找合适的位置 */
if (num_data < 1) {
*ret_idx = 0;
DBGMSG (PFDBG_CATLOG_PF, PFDBG_LEVEL_ERROR, "num_data(%" PRIuSZ ") < 1", num_data);
return -1;
}
/* 折半查找 */
/* 为了不出现负数,以免缩小索引的所表示的数据范围
* (使)
* ileft iright使用从1开始的下标
* 1C语言中的0, 21
* 使 0
*/
size_t i = 0, ileft = 1, iright = num_data;
bool flg_found = false;
for (; ileft <= iright;) {
i = (ileft + iright) / 2 - 1;
/* cb_comp should return the *userdata[i] - *data_pinpoint */
retcomp = cb_comp (userdata, i, data_pinpoint);
if (retcomp > 0)
iright = i;
else if (retcomp < 0)
ileft = i + 2;
else {
/* found ! */
flg_found = true;
break;
}
}
if (flg_found) {
*ret_idx = i;
return 0;
}
if (iright <= i)
*ret_idx = i;
else if (ileft >= i + 2)
*ret_idx = i + 1;
//DBGMSG (PFDBG_CATLOG_PF, PFDBG_LEVEL_DEBUG, "not found! num_data=%" PRIuSZ "; ileft=%" PRIuSZ ", iright=%" PRIuSZ ", i=%" PRIuSZ "", num_data, ileft, iright, i);
return -1;
}
/**
* @brief UTF-8 Unicode (wchar_t)
*
* @param pstart : UTF-8
* @param cb_read_byte : 8MCU ROM
* @param pval : Unicode
*
* @return UTF-8
*
* UTF-8 Unicode (wchar_t)
*/
uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval) {
uint32_t val = 0;
uint8_t *p = pstart;
FU_ASSERT(NULL != pstart);
FU_ASSERT(NULL != cb_read_byte);
uint8_t valcur = cb_read_byte(p);
if (0 == (0x80 & valcur)) {
val = valcur;
p++;
}
else if (0xC0 == (0xE0 & valcur)) {
val = valcur & 0x1F;
val <<= 6;
p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
p++;
}
else if (0xE0 == (0xF0 & valcur)) {
val = valcur & 0x0F;
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
p++;
}
else if (0xF0 == (0xF8 & valcur)) {
val = valcur & 0x07;
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
p++;
}
else if (0xF8 == (0xFC & valcur)) {
val = valcur & 0x03;
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
p++;
}
else if (0xFC == (0xFE & valcur)) {
val = valcur & 0x01;
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
val <<= 6; p++;
valcur = cb_read_byte(p);
val |= (valcur & 0x3F);
p++;
}
else if (0x80 == (0xC0 & valcur)) {
/* error? */
TRACE("ERR 1");
for (; 0x80 == (0xC0 & valcur); ) { p++; valcur = cb_read_byte(p); }
}
else {
/* error */
TRACE("ERR 2");
for (; ((0xFE & valcur) > 0xFC); ) { p++; valcur = cb_read_byte(p); }
}
/*
if (val == 0) {
p = NULL;
*/
/*
}
else if (pstart + maxlen < p) {
p = pstart;
if (pval) *pval = 0;
}
*/
if (pval) *pval = val;
return p;
}
// uint8_t * get_utf8_value_cb (uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval);
int utf8_strlen_cb(const char *pstart, read_byte_cb_t cb_read_byte) {
wchar_t ch;
uint8_t *pnext;
int cnt = 0;
for (pnext = (uint8_t *)pstart; ; ) {
pnext = get_utf8_value_cb(pnext, cb_read_byte, &ch);
if (pnext == NULL || ch == 0) break;
cnt++;
TRACE("cnt=%d, ch=0x%X", cnt, (int)ch);
}
return cnt;
}
int
my_strlen_P(const char *pstart)
{
const char *p;
FU_ASSERT(NULL != pstart);
p = pstart;
while (p && pgm_read_byte(p) != '\0') p ++;
return (p - pstart);
}
uint8_t utf8_strlen(const char *pstart) { return utf8_strlen_cb(pstart, read_byte_ram); }
uint8_t utf8_strlen_P(const char *pstart) { return utf8_strlen_cb(pstart, read_byte_rom); }
char* utf8_strncpy_cb( char * destination, const char *source, size_t num, int len_src, read_byte_cb_t cb_read_byte) {
uint8_t *p = (uint8_t *)source;
uint8_t *d = (uint8_t *)destination;
FU_ASSERT(NULL != destination);
FU_ASSERT(NULL != source);
FU_ASSERT(NULL != cb_read_byte);
uint8_t *pend = p + len_src;
while (p < pend) {
uint8_t valcur = cb_read_byte(p);
size_t len = 0;
if (0 == (0x80 & valcur))
len = 1;
else if (0xC0 == (0xE0 & valcur))
len = 2;
else if (0xE0 == (0xF0 & valcur))
len = 3;
else if (0xF0 == (0xF8 & valcur))
len = 4;
else if (0xF8 == (0xFC & valcur))
len = 5;
else if (0xFC == (0xFE & valcur))
len = 6;
else if (0x80 == (0xC0 & valcur)) {
/* error? */
for (; 0x80 == (0xC0 & valcur) && (p < pend); ) { p++; valcur = cb_read_byte(p); }
}
else {
/* error */
for (; ((0xFE & valcur) > 0xFC) && (p < pend); ) { p++; valcur = cb_read_byte(p); }
}
if (len < num) {
for (size_t i = 0; i < len; i++) {
valcur = cb_read_byte(p);
*d = valcur;
d++;
p++;
}
}
else
break;
}
*d = 0;
return destination;
}
char* utf8_strncpy(char * destination, const char * source, size_t num) {
return utf8_strncpy_cb(destination, source, num, strlen(source), read_byte_ram);
}
char* utf8_strncpy_P(char * destination, const char * source, size_t num) {
return utf8_strncpy_cb(destination, source, num, my_strlen_P(source), read_byte_rom);
}

159
Marlin/src/lcd/fontutils.h Normal file
View file

@ -0,0 +1,159 @@
/**
* @file fontutils.h
* @brief help functions for font and char
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2016-08-19
* @copyright GPL/BSD
*/
#ifndef _FONT_UTILS_H
#define _FONT_UTILS_H
#define DEBUG 0
#ifdef ARDUINO
#include <Arduino.h>
#else // ARDUINO
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#endif // ARDUINO
#ifndef pgm_read_word_near // __AVR__
#include <stdint.h>
#include <string.h>
#include <assert.h>
//#define pgm_read_word_near(a) *((uint16_t *)(a))
#define pgm_read_word_near(a) (*(a))
#define pgm_read_byte_near(a) *((uint8_t *)(a))
#define pgm_read_byte pgm_read_byte_near
#elif defined(__AVR__)
#include <avr/pgmspace.h>
#endif
#ifndef PROGMEM
#define PROGMEM
#define strlen_P strlen
#define memcpy_P memcpy
#define vsnprintf_P vsnprintf
#endif // PROGMEM
#ifdef __cplusplus
extern "C" {
#endif
// read a byte from ROM or RAM
typedef uint8_t (* read_byte_cb_t)(uint8_t * str);
//inline uint8_t read_byte_ram(uint8_t * str) { return *str; }
//inline uint8_t read_byte_rom(uint8_t * str) { return pgm_read_byte(str); }
uint8_t read_byte_ram(uint8_t * str);
uint8_t read_byte_rom(uint8_t * str);
#ifdef __cplusplus
}
#endif
#include <stddef.h> // wchar_t
#include <stdint.h> // uint32_t
#ifdef ARDUINO
// there's overflow of the wchar_t due to the 2-byte size in Arduino
// sizeof(wchar_t)=2; sizeof(size_t)=2; sizeof(uint32_t)=4;
// sizeof(int)=2; sizeof(long)=4; sizeof(unsigned)=2;
//#undef wchar_t
#define wchar_t uint32_t
//typedef uint32_t wchar_t;
#else
#include <sys/types.h> // ssize_t
#include <assert.h>
// x86_64
// sizeof(wchar_t)=4; sizeof(size_t)=8; sizeof(uint32_t)=4;
// sizeof(int)=4; sizeof(long)=8; sizeof(unsigned)=4;
//#define wchar_t uint32_t
#define wchar_t size_t
#ifndef PRIu32
#define PRIu32 "lu"
#endif
#ifndef PRIX32
#define PRIX32 "lX"
#endif
#endif
#define UNUSED_VARIABLE(a) ((void)(a))
#ifndef MIN
#define MIN(a,b) (((a)>(b))?(b):(a))
#endif
#ifndef NUM_ARRAY
#define NUM_ARRAY(a) (sizeof(a)/sizeof((a)[0]))
#endif // NUM_ARRAY
#ifdef __cplusplus
extern "C" {
#endif
//#define pixel_len_t u8g_uint_t
#define pixel_len_t uint16_t
//#define pixel_len_t uint8_t
//typedef uint16_t pixel_len_t;
#define PIXEL_LEN_NOLIMIT ((pixel_len_t)(-1))
typedef int (* pf_bsearch_cb_comp_t)(void *userdata, size_t idx, void * data_pin); /*"data_list[idx] - *data_pin"*/
int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, void *data_pinpoint, size_t *ret_idx);
//wchar_t get_val_utf82uni(uint8_t *pstart);
//uint8_t * get_utf8_value(uint8_t *pstart, wchar_t *pval);
uint8_t * get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval);
uint8_t utf8_strlen(const char *pstart);
uint8_t utf8_strlen_P(const char *pstart);
char * utf8_strncpy(char * destination, const char * source, size_t num);
char * utf8_strncpy_P(char * destination, const char * source, size_t num);
int my_strlen_P(const char *pstart);
#if 0 // DEBUG
#if 0 //defined(ARDUINO)
#if defined(__AVR__)
#define TRACE(fmt, ...) {static const PROGMEM char CONSTSTR[] = "%d %d " fmt " {ln:%d;}\n"; serial_printf_P(CONSTSTR, millis(), ##__VA_ARGS__, __LINE__); }
#else
#define TRACE(fmt, ...) {static const PROGMEM char CONSTSTR[] = "%d " fmt " {ln:%d, fn:" __FILE__ "}\n"; serial_printf_P(CONSTSTR, millis(), ##__VA_ARGS__, __LINE__); }
#endif
#define FU_ASSERT(a) if (!(a)) {TRACE("Assert: " # a ); }
#ifdef __cplusplus
extern "C" {
#endif
void serial_printf_P(const char *format, ...);
#ifdef __cplusplus
}
#endif
#else // ARDUINO
#include <stdio.h>
#define FU_ASSERT(a) if (!(a)) {printf("Assert: " # a); exit(1);}
#define TRACE(fmt, ...) fprintf(stdout, "[%s()] " fmt " {ln:%d, fn:" __FILE__ "}\n", __func__, ##__VA_ARGS__, __LINE__)
//#else
//#define FU_ASSERT(a)
//#define TRACE(...)
#endif // ARDUINO
#else // DEBUG
#define TRACE(fmt, ...)
#define FU_ASSERT(a)
#endif // DEBUG
#ifdef __cplusplus
}
#endif
#endif // _FONT_UTILS_H

View file

@ -1,171 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Chinese
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_CN_H
#define LANGUAGE_CN_H
#define DISPLAY_CHARSET_ISO10646_CN
#define CHARSIZE 2
#define WELCOME_MSG "\xa4\xa5\xa6\xa7"
#define MSG_SD_INSERTED "\xa8\xa9\xaa\xab"
#define MSG_SD_REMOVED "\xa8\xa9\xac\xad"
#define MSG_MAIN "\xae\xaf\xb0"
#define MSG_AUTOSTART "\xb1\xb2\xb3\xb4"
#define MSG_DISABLE_STEPPERS "\xb5\xb6\xb7\xb8\xb9\xba"
#define MSG_AUTO_HOME "\xbb\xbc\xbd"
#define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_SET_HOME_OFFSETS "\xbe\xbf\xbb\xbc\xbd\xc0\xc1"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "\xbe\xbf\xbc\xbd"
#define MSG_PREHEAT_1 "\xc3\xc4 PLA"
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 " "
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 " \xc5\xc6"
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 " \xc4\xc7"
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 " \xbe\xbf"
#define MSG_PREHEAT_2 "\xc3\xc4 ABS"
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 " "
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 " \xc5\xc6"
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 " \xbe\xc6"
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 " \xbe\xbf"
#define MSG_COOLDOWN "\xc8\xc9"
#define MSG_SWITCH_PS_ON "\xb9\xcb\xca\xb3"
#define MSG_SWITCH_PS_OFF "\xb9\xcb\xb5\xb6"
#define MSG_EXTRUDE "\xcc\xad"
#define MSG_RETRACT "\xbb\xcd"
#define MSG_MOVE_AXIS "\xc1\xb2\xce"
#define MSG_BED_LEVELING "\xcf\xe0\xc4\xc7"
#define MSG_LEVEL_BED "\xcf\xe0\xc4\xc7"
#define MSG_MOVE_X "\xc1\xb2 X"
#define MSG_MOVE_Y "\xc1\xb2 Y"
#define MSG_MOVE_Z "\xc1\xb2 Z"
#define MSG_MOVE_E "\xcc\xad\xba"
#define MSG_MOVE_01MM "\xc1\xb2 0.1mm"
#define MSG_MOVE_1MM "\xc1\xb2 1mm"
#define MSG_MOVE_10MM "\xc1\xb2 10mm"
#define MSG_SPEED "\xd1\xd2"
#define MSG_NOZZLE "\xd3\xd4"
#define MSG_BED "\xc4\xc7"
#define MSG_FAN_SPEED "\xd5\xd6\xd1\xd2"
#define MSG_FLOW "\xcc\xad\xd1\xd2"
#define MSG_CONTROL "\xd8\xd9"
#define MSG_MIN LCD_STR_THERMOMETER " \xda\xdb"
#define MSG_MAX LCD_STR_THERMOMETER " \xda\xdc"
#define MSG_FACTOR LCD_STR_THERMOMETER " \xdd\xde"
#define MSG_AUTOTEMP "\xb1\xb2\xd8\xc9"
#define MSG_ON "\xb3 " // intentional space to shift wide symbol to the left
#define MSG_OFF "\xb5 " // intentional space to shift wide symbol to the left
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_ACC "Accel"
#define MSG_JERK "Jerk"
#if IS_KINEMATIC
#define MSG_VA_JERK "Va-jerk"
#define MSG_VB_JERK "Vb-jerk"
#define MSG_VC_JERK "Vc-jerk"
#else
#define MSG_VA_JERK "Vx-jerk"
#define MSG_VB_JERK "Vy-jerk"
#define MSG_VC_JERK "Vz-jerk"
#endif
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX "Vmax "
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_A_RETRACT "A-retract"
#define MSG_A_TRAVEL "A-travel"
#define MSG_STEPS_PER_MM "Steps/mm"
#define MSG_ESTEPS "Esteps/mm"
#define MSG_E1STEPS "E1steps/mm"
#define MSG_E2STEPS "E2steps/mm"
#define MSG_E3STEPS "E3steps/mm"
#define MSG_E4STEPS "E4steps/mm"
#define MSG_E5STEPS "E5steps/mm"
#define MSG_TEMPERATURE "\xc9\xd2"
#define MSG_MOTION "\xdf\xb2"
#define MSG_FILAMENT "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_FILAMENT_DIAM "Fil. Dia."
#define MSG_CONTRAST "LCD contrast"
#define MSG_STORE_EEPROM "Store memory"
#define MSG_LOAD_EEPROM "Load memory"
#define MSG_RESTORE_FAILSAFE "Restore failsafe"
#define MSG_REFRESH "Refresh"
#define MSG_WATCH "\xec\xed\xee\xef"
#define MSG_PREPARE "\xa4\xa5"
#define MSG_TUNE "\xcf\xf0"
#define MSG_PAUSE_PRINT "\xf1\xf2\xca\xf3"
#define MSG_RESUME_PRINT "\xf4\xf5\xca\xf3"
#define MSG_STOP_PRINT "\xf2\xf6\xca\xf3"
#define MSG_CARD_MENU "\xaf\xb0"
#define MSG_NO_CARD "\xf9\xa8"
#define MSG_DWELL "Sleep..."
#define MSG_USERWAIT "Wait for user..."
#define MSG_RESUMING "Resuming print"
#define MSG_PRINT_ABORTED "Print aborted"
#define MSG_NO_MOVE "No move."
#define MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_CONTROL_RETRACT "Retract mm"
#define MSG_CONTROL_RETRACT_SWAP "Swap Re.mm"
#define MSG_CONTROL_RETRACTF "Retract V"
#define MSG_CONTROL_RETRACT_ZLIFT "Hop mm"
#define MSG_CONTROL_RETRACT_RECOVER "UnRet mm"
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "S UnRet mm"
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet V"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD card"
#define MSG_CNG_SDCARD "Change SD card"
#define MSG_ZPROBE_OUT "Z probe out. bed"
#define MSG_HOME "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST "first"
#define MSG_ZPROBE_ZOFFSET "Z Offset"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_ENDSTOP_ABORT "Endstop abort"
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_ERR_MAXTEMP "Err: MAXTEMP"
#define MSG_ERR_MINTEMP "Err: MINTEMP"
#define MSG_ERR_MAXTEMP_BED "Err: MAXTEMP BED"
#define MSG_DELTA_CALIBRATE "Delta Calibration"
#define MSG_DELTA_CALIBRATE_X "Calibrate X"
#define MSG_DELTA_CALIBRATE_Y "Calibrate Y"
#define MSG_DELTA_CALIBRATE_Z "Calibrate Z"
#define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center"
#endif // LANGUAGE_CN_H

View file

@ -22,6 +22,7 @@
/** /**
* Czech * Czech
* UTF-8 for Graphical Display
* *
* LCD Menu Messages * LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html * See also http://marlinfw.org/docs/development/lcd_language.html
@ -31,158 +32,160 @@
* http://www.zahradniksebavi.cz * http://www.zahradniksebavi.cz
* *
*/ */
#ifndef LANGUAGE_CZ_H #ifndef LANGUAGE_CZ_UTF_H
#define LANGUAGE_CZ_H #define LANGUAGE_CZ_UTF_H
#define DISPLAY_CHARSET_ISO10646_1 #define MAPPER_C3C4C5_CZ
#define DISPLAY_CHARSET_ISO10646_CZ
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" pripraven.") #define WELCOME_MSG MACHINE_NAME _UxGT(" připraven.")
#define MSG_BACK _UxGT("Zpet") #define MSG_BACK _UxGT("Zpět")
#define MSG_SD_INSERTED _UxGT("Karta vlozena") #define MSG_SD_INSERTED _UxGT("Karta vložena")
#define MSG_SD_REMOVED _UxGT("Karta vyjmuta") #define MSG_SD_REMOVED _UxGT("Karta vyjmuta")
#define MSG_LCD_ENDSTOPS _UxGT("Endstopy") // max 8 znaku #define MSG_LCD_ENDSTOPS _UxGT("Endstopy") // max 8 znaku
#define MSG_MAIN _UxGT("Hlavni nabidka") #define MSG_MAIN _UxGT("Hlavní nabídka")
#define MSG_AUTOSTART _UxGT("Autostart") #define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Uvolnit motory") #define MSG_DISABLE_STEPPERS _UxGT("Uvolnit motory")
#define MSG_DEBUG_MENU _UxGT("Nabidka ladeni") #define MSG_DEBUG_MENU _UxGT("Nabídka ladění")
#define MSG_PROGRESS_BAR_TEST _UxGT("Test uk.prubehu") #define MSG_PROGRESS_BAR_TEST _UxGT("Test uk. průběhu")
#define MSG_AUTO_HOME _UxGT("Domovska pozice") #define MSG_AUTO_HOME _UxGT("Domovská pozice")
#define MSG_AUTO_HOME_X _UxGT("Domu osa X") #define MSG_AUTO_HOME_X _UxGT("Domů osa X")
#define MSG_AUTO_HOME_Y _UxGT("Domu osa Y") #define MSG_AUTO_HOME_Y _UxGT("Domů osa Y")
#define MSG_AUTO_HOME_Z _UxGT("Domu osa Z") #define MSG_AUTO_HOME_Z _UxGT("Domů osa Z")
#define MSG_LEVEL_BED_HOMING _UxGT("Mereni podlozky") #define MSG_LEVEL_BED_HOMING _UxGT("Měření podložky")
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknutim spustte") #define MSG_LEVEL_BED_WAITING _UxGT("Kliknutím spusťte")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Dalsi bod") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Další bod")
#define MSG_LEVEL_BED_DONE _UxGT("Mereni hotovo!") #define MSG_LEVEL_BED_DONE _UxGT("Měření hotovo!")
#define MSG_Z_FADE_HEIGHT _UxGT("Vyska srovnavani") #define MSG_Z_FADE_HEIGHT _UxGT("Výška srovnávání")
#define MSG_SET_HOME_OFFSETS _UxGT("Nastavit ofsety") #define MSG_SET_HOME_OFFSETS _UxGT("Nastavit ofsety")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Ofsety nastaveny") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Ofsety nastaveny")
#define MSG_SET_ORIGIN _UxGT("Nastavit pocatek") #define MSG_SET_ORIGIN _UxGT("Nastavit počátek")
#define MSG_PREHEAT_1 _UxGT("Zahrat PLA") #define MSG_PREHEAT_1 _UxGT("Zahřát PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ") #define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" vse") #define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" vše")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" hotend") #define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" hotend")
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" podloz") #define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" podlož")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" nast") #define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" nast")
#define MSG_PREHEAT_2 _UxGT("Zahrat ABS") #define MSG_PREHEAT_2 _UxGT("Zahřát ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ") #define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" vse") #define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" vše")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" hotend") #define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" hotend")
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" podloz") #define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" podlož")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" nast") #define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" nast")
#define MSG_COOLDOWN _UxGT("Zchladit") #define MSG_COOLDOWN _UxGT("Zchladit")
#define MSG_SWITCH_PS_ON _UxGT("Zapnout napajeni") #define MSG_SWITCH_PS_ON _UxGT("Zapnout napájení")
#define MSG_SWITCH_PS_OFF _UxGT("Vypnout napajeni") #define MSG_SWITCH_PS_OFF _UxGT("Vypnout napájení")
#define MSG_EXTRUDE _UxGT("Vytlacit (extr.)") #define MSG_EXTRUDE _UxGT("Vytlačit (extr.)")
#define MSG_RETRACT _UxGT("Zatlacit (retr.)") #define MSG_RETRACT _UxGT("Zatlačit (retr.)")
#define MSG_MOVE_AXIS _UxGT("Posunout osy") #define MSG_MOVE_AXIS _UxGT("Posunout osy")
#define MSG_BED_LEVELING _UxGT("Vyrovnat podlozku") #define MSG_BED_LEVELING _UxGT("Vyrovnat podložku")
#define MSG_LEVEL_BED _UxGT("Vyrovnat podlozku") #define MSG_LEVEL_BED _UxGT("Vyrovnat podložku")
#define MSG_LEVEL_CORNERS _UxGT("Vyrovnat rohy") #define MSG_LEVEL_CORNERS _UxGT("Vyrovnat rohy")
#define MSG_NEXT_CORNER _UxGT("Dalsi roh") #define MSG_NEXT_CORNER _UxGT("Další roh")
#define MSG_EDITING_STOPPED _UxGT("Konec uprav site") #define MSG_EDITING_STOPPED _UxGT("Konec úprav sítě")
#define MSG_UBL_DOING_G29 _UxGT("Provadim G29") #define MSG_UBL_DOING_G29 _UxGT("Provádím G29")
#define MSG_UBL_UNHOMED _UxGT("Prejedte domu") #define MSG_UBL_UNHOMED _UxGT("Přejeďte domů")
#define MSG_UBL_TOOLS _UxGT("UBL nastroje") #define MSG_UBL_TOOLS _UxGT("UBL nástroje")
#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") #define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling")
#define MSG_UBL_MANUAL_MESH _UxGT("Manualni sit bodu") #define MSG_UBL_MANUAL_MESH _UxGT("Manuální síť bodů")
#define MSG_UBL_BC_INSERT _UxGT("Vlozte kartu, zmerte") #define MSG_UBL_BC_INSERT _UxGT("Vložte kartu, změřte")
#define MSG_UBL_BC_INSERT2 _UxGT("Zmerte") #define MSG_UBL_BC_INSERT2 _UxGT("Změřte")
#define MSG_UBL_BC_REMOVE _UxGT("Odstrante a zmerte") #define MSG_UBL_BC_REMOVE _UxGT("Odstraňte a změřte")
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Presoun na dalsi") #define MSG_UBL_MOVING_TO_NEXT _UxGT("Přesun na další")
#define MSG_UBL_ACTIVATE_MESH _UxGT("Aktivovat UBL") #define MSG_UBL_ACTIVATE_MESH _UxGT("Aktivovat UBL")
#define MSG_UBL_DEACTIVATE_MESH _UxGT("Deaktivovat UBL") #define MSG_UBL_DEACTIVATE_MESH _UxGT("Deaktivovat UBL")
#define MSG_UBL_SET_BED_TEMP _UxGT("Teplota podlozky") #define MSG_UBL_SET_BED_TEMP _UxGT("Teplota podložky")
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP #define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP #define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
#define MSG_UBL_MESH_EDIT _UxGT("Uprava site bodu") #define MSG_UBL_MESH_EDIT _UxGT("Úprava sítě bodů")
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastni sit") #define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastní síť")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit sit bodu") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit síť bodů")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec uprav site") #define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec úprav sítě")
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Vlastni sit") #define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Vlastní síť")
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Vytvorit sit") #define MSG_UBL_BUILD_MESH_MENU _UxGT("Vytvořit síť")
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Sit bodu PLA") #define MSG_UBL_BUILD_PLA_MESH _UxGT("Síť bodu PLA")
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Sit bodu ABS") #define MSG_UBL_BUILD_ABS_MESH _UxGT("Síť bodu ABS")
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Studena sit bodu") #define MSG_UBL_BUILD_COLD_MESH _UxGT("Studená síť bodů")
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Upravit vysku site") #define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Upravit výšku sítě")
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Vyska") #define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Výška")
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat sit") #define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat síť")
#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Kontrola site PLA") #define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Kontrola sítě PLA")
#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Kontrola site ABS") #define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Kontrola sítě ABS")
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Kontrola vlast. site") #define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Kontrola vlast. sítě")
#define MSG_UBL_CONTINUE_MESH _UxGT("Pokracovat v siti") #define MSG_UBL_CONTINUE_MESH _UxGT("Pokračovat v síťi")
#define MSG_UBL_MESH_LEVELING _UxGT("Sitove rovnani") #define MSG_UBL_MESH_LEVELING _UxGT("Síťové rovnání")
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-bodove rovnani") #define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-bodove rovnání")
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Mrizkove rovnani") #define MSG_UBL_GRID_MESH_LEVELING _UxGT("Mrizkove rovnání")
#define MSG_UBL_MESH_LEVEL _UxGT("Srovnat podlozku") #define MSG_UBL_MESH_LEVEL _UxGT("Srovnat podložku")
#define MSG_UBL_SIDE_POINTS _UxGT("Postranni body") #define MSG_UBL_SIDE_POINTS _UxGT("Postranní body")
#define MSG_UBL_MAP_TYPE _UxGT("Typ site bodu") #define MSG_UBL_MAP_TYPE _UxGT("Typ sítě bodu")
#define MSG_UBL_OUTPUT_MAP _UxGT("Exportovat sit") #define MSG_UBL_OUTPUT_MAP _UxGT("Exportovat síť")
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Exportovat do PC") #define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Exportovat do PC")
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Exportovat do CSV") #define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Exportovat do CSV")
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Zaloha do PC") #define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Záloha do PC")
#define MSG_UBL_INFO_UBL _UxGT("Info o UBL do PC") #define MSG_UBL_INFO_UBL _UxGT("Info o UBL do PC")
#define MSG_UBL_EDIT_MESH_MENU _UxGT("Upravit sit dobu") #define MSG_UBL_EDIT_MESH_MENU _UxGT("Upravit síť bodů")
#define MSG_UBL_FILLIN_AMOUNT _UxGT("Hustota mrizky") #define MSG_UBL_FILLIN_AMOUNT _UxGT("Hustota mřížky")
#define MSG_UBL_MANUAL_FILLIN _UxGT("Rucni hustota") #define MSG_UBL_MANUAL_FILLIN _UxGT("Ruční hustota")
#define MSG_UBL_SMART_FILLIN _UxGT("Chytra hustota") #define MSG_UBL_SMART_FILLIN _UxGT("Chytrá hustota")
#define MSG_UBL_FILLIN_MESH _UxGT("Zaplnit mrizku") #define MSG_UBL_FILLIN_MESH _UxGT("Zaplnit mřížku")
#define MSG_UBL_INVALIDATE_ALL _UxGT("Zrusit vsechno") #define MSG_UBL_INVALIDATE_ALL _UxGT("Zrušit všechno")
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Zrusit posledni") #define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Zrušit poslední")
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Upravit vsechny") #define MSG_UBL_FINE_TUNE_ALL _UxGT("Upravit všechny")
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Upravit posledni") #define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Upravit poslední")
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Uloziste siti") #define MSG_UBL_STORAGE_MESH_MENU _UxGT("Uložiště sítí")
#define MSG_UBL_STORAGE_SLOT _UxGT("Pametovy slot") #define MSG_UBL_STORAGE_SLOT _UxGT("Paměťový slot")
#define MSG_UBL_LOAD_MESH _UxGT("Nacist sit bodu") #define MSG_UBL_LOAD_MESH _UxGT("Načíst síť bodů")
#define MSG_UBL_SAVE_MESH _UxGT("Ulozit sit bodu") #define MSG_UBL_SAVE_MESH _UxGT("Uložit síť bodů")
#define MSG_MESH_LOADED _UxGT("Sit %i nactena") #define MSG_MESH_LOADED _UxGT("Síť %i načtena")
#define MSG_NO_STORAGE _UxGT("Nedostatek mista") #define MSG_MESH_SAVED _UxGT("Síť %i uložena")
#define MSG_MESH_SAVED _UxGT("Sit %i ulozena") #define MSG_NO_STORAGE _UxGT("Nedostatek místa")
#define MSG_UBL_SAVE_ERROR _UxGT("Err: Ulozit UBL") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Uložit UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupne") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupně")
#define MSG_LED_CONTROL _UxGT("LED Nastaveni") #define MSG_LED_CONTROL _UxGT("LED Nastavení")
#define MSG_LEDS_ON _UxGT("Svetla Zap") #define MSG_LEDS_ON _UxGT("Světla Zap")
#define MSG_LEDS_OFF _UxGT("Svetla Vyp") #define MSG_LEDS_OFF _UxGT("Světla Vyp")
#define MSG_LED_PRESETS _UxGT("Svetla Predvolby") #define MSG_LED_PRESETS _UxGT("Světla Předvolby")
#define MSG_SET_LEDS_RED _UxGT("Cervena") #define MSG_SET_LEDS_RED _UxGT("Červená")
#define MSG_SET_LEDS_ORANGE _UxGT("Oranzova") #define MSG_SET_LEDS_ORANGE _UxGT("Oranžová")
#define MSG_SET_LEDS_YELLOW _UxGT("Zluta") #define MSG_SET_LEDS_YELLOW _UxGT("Žlutá")
#define MSG_SET_LEDS_GREEN _UxGT("Zelena") #define MSG_SET_LEDS_GREEN _UxGT("Zelená")
#define MSG_SET_LEDS_BLUE _UxGT("Modra") #define MSG_SET_LEDS_BLUE _UxGT("Modrá")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo") #define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Fialova") #define MSG_SET_LEDS_VIOLET _UxGT("Fialová")
#define MSG_SET_LEDS_WHITE _UxGT("Bila") #define MSG_SET_LEDS_WHITE _UxGT("Bílá")
#define MSG_SET_LEDS_DEFAULT _UxGT("Vychozi") #define MSG_SET_LEDS_DEFAULT _UxGT("Výchozí")
#define MSG_CUSTOM_LEDS _UxGT("Vlastni svetla") #define MSG_CUSTOM_LEDS _UxGT("Vlastní světla")
#define MSG_INTENSITY_R _UxGT("Cervena intenzita") #define MSG_INTENSITY_R _UxGT("Červená intenzita")
#define MSG_INTENSITY_G _UxGT("Zelena intezita") #define MSG_INTENSITY_G _UxGT("Zelená intezita")
#define MSG_INTENSITY_B _UxGT("Modra intenzita") #define MSG_INTENSITY_B _UxGT("Modrá intenzita")
#define MSG_INTENSITY_W _UxGT("Bila intenzita") #define MSG_INTENSITY_W _UxGT("Bílá intenzita")
#define MSG_LED_BRIGHTNESS _UxGT("Jas") #define MSG_LED_BRIGHTNESS _UxGT("Jas")
#define MSG_USER_MENU _UxGT("Vlastni prikazy") #define MSG_USER_MENU _UxGT("Vlastní příkazy")
#define MSG_MOVING _UxGT("Posouvani...") #define MSG_MOVING _UxGT("Posouvani...")
#define MSG_FREE_XY _UxGT("Uvolnit XY") #define MSG_FREE_XY _UxGT("Uvolnit XY")
#define MSG_MOVE_X _UxGT("Posunout X") #define MSG_MOVE_X _UxGT("Posunout X")
#define MSG_MOVE_Y _UxGT("Posunout Y") #define MSG_MOVE_Y _UxGT("Posunout Y")
#define MSG_MOVE_Z _UxGT("Posunout Z") #define MSG_MOVE_Z _UxGT("Posunout Z")
#define MSG_MOVE_E _UxGT("Extruder") #define MSG_MOVE_E _UxGT("Extrudér")
#define MSG_MOVE_01MM _UxGT("Posunout o 0,1mm") #define MSG_MOVE_01MM _UxGT("Posunout o 0,1mm")
#define MSG_MOVE_1MM _UxGT("Posunout o 1mm") #define MSG_MOVE_1MM _UxGT("Posunout o 1mm")
#define MSG_MOVE_10MM _UxGT("Posunout o 10mm") #define MSG_MOVE_10MM _UxGT("Posunout o 10mm")
#define MSG_SPEED _UxGT("Rychlost") #define MSG_SPEED _UxGT("Rychlost")
#define MSG_BED_Z _UxGT("Vyska podl.") #define MSG_BED_Z _UxGT("Výška podl.")
#define MSG_NOZZLE _UxGT("Tryska") #define MSG_NOZZLE _UxGT("Tryska")
#define MSG_BED _UxGT("Podlozka") #define MSG_BED _UxGT("Podložka")
#define MSG_FAN_SPEED _UxGT("Rychlost vent.") #define MSG_FAN_SPEED _UxGT("Rychlost vent.")
#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.") #define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.")
#define MSG_FLOW _UxGT("Prutok") #define MSG_FLOW _UxGT("Průtok")
#define MSG_CONTROL _UxGT("Ovladani") #define MSG_CONTROL _UxGT("Ovládaní")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max") #define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fakt") #define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fakt")
@ -213,55 +216,55 @@
#define MSG_ACCELERATION _UxGT("Akcelerace") #define MSG_ACCELERATION _UxGT("Akcelerace")
#define MSG_AMAX _UxGT("Amax ") #define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("A-retrakt") #define MSG_A_RETRACT _UxGT("A-retrakt")
#define MSG_A_TRAVEL _UxGT("A-prejezd") #define MSG_A_TRAVEL _UxGT("A-přejezd")
#define MSG_STEPS_PER_MM _UxGT("Kroku/mm") #define MSG_STEPS_PER_MM _UxGT("Kroků/mm")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("Akroku/mm") #define MSG_ASTEPS _UxGT("Akroků/mm")
#define MSG_BSTEPS _UxGT("Bkroku/mm") #define MSG_BSTEPS _UxGT("Bkroků/mm")
#define MSG_CSTEPS _UxGT("Ckroku/mm") #define MSG_CSTEPS _UxGT("Ckroků/mm")
#else #else
#define MSG_ASTEPS _UxGT("Xkroku/mm") #define MSG_ASTEPS _UxGT("Xkroků/mm")
#define MSG_BSTEPS _UxGT("Ykroku/mm") #define MSG_BSTEPS _UxGT("Ykroků/mm")
#define MSG_CSTEPS _UxGT("Zkroku/mm") #define MSG_CSTEPS _UxGT("Zkroků/mm")
#endif #endif
#define MSG_ESTEPS _UxGT("Ekroku/mm") #define MSG_ESTEPS _UxGT("Ekroků/mm")
#define MSG_E1STEPS _UxGT("E1kroku/mm") #define MSG_E1STEPS _UxGT("E1kroků/mm")
#define MSG_E2STEPS _UxGT("E2kroku/mm") #define MSG_E2STEPS _UxGT("E2kroků/mm")
#define MSG_E3STEPS _UxGT("E3kroku/mm") #define MSG_E3STEPS _UxGT("E3kroků/mm")
#define MSG_E4STEPS _UxGT("E4kroku/mm") #define MSG_E4STEPS _UxGT("E4kroků/mm")
#define MSG_E5STEPS _UxGT("E5kroku/mm") #define MSG_E5STEPS _UxGT("E5kroků/mm")
#define MSG_TEMPERATURE _UxGT("Teplota") #define MSG_TEMPERATURE _UxGT("Teplota")
#define MSG_MOTION _UxGT("Pohyb") #define MSG_MOTION _UxGT("Pohyb")
#define MSG_FILAMENT _UxGT("Filament") #define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E na mm3") #define MSG_VOLUMETRIC_ENABLED _UxGT("E na mm3")
#define MSG_FILAMENT_DIAM _UxGT("Fil. Prum.") #define MSG_FILAMENT_DIAM _UxGT("Fil. Prum.")
#define MSG_FILAMENT_UNLOAD _UxGT("Vysunout mm") #define MSG_FILAMENT_UNLOAD _UxGT("Vysunout mm")
#define MSG_FILAMENT_LOAD _UxGT("Zavest mm") #define MSG_FILAMENT_LOAD _UxGT("Zavést mm")
#define MSG_ADVANCE_K _UxGT("K pro posun") #define MSG_ADVANCE_K _UxGT("K pro posun")
#define MSG_CONTRAST _UxGT("Kontrast LCD") #define MSG_CONTRAST _UxGT("Kontrast LCD")
#define MSG_STORE_EEPROM _UxGT("Ulozit nastaveni") #define MSG_STORE_EEPROM _UxGT("Uložit nastavení")
#define MSG_LOAD_EEPROM _UxGT("Nacist nastaveni") #define MSG_LOAD_EEPROM _UxGT("Načíst nastavení")
#define MSG_RESTORE_FAILSAFE _UxGT("Obnovit vychozi") #define MSG_RESTORE_FAILSAFE _UxGT("Obnovit výchozí")
#define MSG_INIT_EEPROM _UxGT("Inic. EEPROM") #define MSG_INIT_EEPROM _UxGT("Inic. EEPROM")
#define MSG_REFRESH _UxGT("Obnovit") #define MSG_REFRESH _UxGT("Obnovit")
#define MSG_WATCH _UxGT("Info obrazovka") #define MSG_WATCH _UxGT("Info obrazovka")
#define MSG_PREPARE _UxGT("Priprava tisku") #define MSG_PREPARE _UxGT("Připrava tisku")
#define MSG_TUNE _UxGT("Doladeni tisku") #define MSG_TUNE _UxGT("Doladění tisku")
#define MSG_PAUSE_PRINT _UxGT("Pozastavit tisk") #define MSG_PAUSE_PRINT _UxGT("Pozastavit tisk")
#define MSG_RESUME_PRINT _UxGT("Obnovit tisk") #define MSG_RESUME_PRINT _UxGT("Obnovit tisk")
#define MSG_STOP_PRINT _UxGT("Zastavit tisk") #define MSG_STOP_PRINT _UxGT("Zastavit tisk")
#define MSG_CARD_MENU _UxGT("Tisknout z SD") #define MSG_CARD_MENU _UxGT("Tisknout z SD")
#define MSG_NO_CARD _UxGT("Zadna SD karta") #define MSG_NO_CARD _UxGT("Žádná SD karta")
#define MSG_DWELL _UxGT("Uspano...") #define MSG_DWELL _UxGT("Uspáno...")
#define MSG_USERWAIT _UxGT("Cekani na uziv...") #define MSG_USERWAIT _UxGT("Čekání na uživ...")
#define MSG_PRINT_PAUSED _UxGT("Tisk pozastaven") #define MSG_PRINT_PAUSED _UxGT("Tisk pozastaven")
#define MSG_RESUMING _UxGT("Obnovovani tisku") #define MSG_RESUMING _UxGT("Obnovování tisku")
#define MSG_PRINT_ABORTED _UxGT("Tisk zrusen") #define MSG_PRINT_ABORTED _UxGT("Tisk zrušen")
#define MSG_NO_MOVE _UxGT("Zadny pohyb.") #define MSG_NO_MOVE _UxGT("Žádný pohyb.")
#define MSG_KILLED _UxGT("PRERUSENO. ") #define MSG_KILLED _UxGT("PŘERUSENO. ")
#define MSG_STOPPED _UxGT("ZASTAVENO. ") #define MSG_STOPPED _UxGT("ZASTAVENO. ")
#define MSG_CONTROL_RETRACT _UxGT("Retrakt mm") #define MSG_CONTROL_RETRACT _UxGT("Retrakt mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Vymena Re.mm") #define MSG_CONTROL_RETRACT_SWAP _UxGT("Výměna Re.mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retraktovat V") #define MSG_CONTROL_RETRACTF _UxGT("Retraktovat V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Zvednuti Z mm") #define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Zvednuti Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm") #define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm")
@ -269,134 +272,134 @@
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V")
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V") #define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V")
#define MSG_AUTORETRACT _UxGT("AutoRetr.") #define MSG_AUTORETRACT _UxGT("AutoRetr.")
#define MSG_FILAMENTCHANGE _UxGT("Vymenit filament") #define MSG_FILAMENTCHANGE _UxGT("Vyměnit filament")
#define MSG_FILAMENTLOAD _UxGT("Zavest filament") #define MSG_FILAMENTLOAD _UxGT("Zavést filament")
#define MSG_FILAMENTUNLOAD _UxGT("Vysunout filament") #define MSG_FILAMENTUNLOAD _UxGT("Vysunout filament")
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Vysunout vse") #define MSG_FILAMENTUNLOAD_ALL _UxGT("Vysunout vše")
#define MSG_INIT_SDCARD _UxGT("Nacist SD kartu") #define MSG_INIT_SDCARD _UxGT("Načíst SD kartu")
#define MSG_CNG_SDCARD _UxGT("Vymenit SD kartu") #define MSG_CNG_SDCARD _UxGT("Vyměnit SD kartu")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl") #define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl")
#define MSG_SKEW_FACTOR _UxGT("Faktor zkoseni") #define MSG_SKEW_FACTOR _UxGT("Faktor zkosení")
#define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset")
#define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch Vysunout") #define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch Vysunout")
#define MSG_BLTOUCH_STOW _UxGT("BLTouch Zasunout") #define MSG_BLTOUCH_STOW _UxGT("BLTouch Zasunout")
#define MSG_HOME _UxGT("Domu") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_HOME _UxGT("Domů") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("prvni") #define MSG_FIRST _UxGT("první")
#define MSG_ZPROBE_ZOFFSET _UxGT("Z ofset") #define MSG_ZPROBE_ZOFFSET _UxGT("Z ofset")
#define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z") #define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Endstop abort") #define MSG_ENDSTOP_ABORT _UxGT("Endstop abort")
#define MSG_HEATING_FAILED_LCD _UxGT("Chyba zahrivani") #define MSG_HEATING_FAILED_LCD _UxGT("Chyba zahřívání")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEPLOTA") #define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEPLOTA")
#define MSG_THERMAL_RUNAWAY _UxGT("TEPLOTNI SKOK") #define MSG_THERMAL_RUNAWAY _UxGT("TEPLOTNÍ SKOK")
#define MSG_ERR_MAXTEMP _UxGT("VYSOKA TEPLOTA") #define MSG_ERR_MAXTEMP _UxGT("VYSOKÁ TEPLOTA")
#define MSG_ERR_MINTEMP _UxGT("NIZKA TEPLOTA") #define MSG_ERR_MINTEMP _UxGT("NÍZKA TEPLOTA")
#define MSG_ERR_MAXTEMP_BED _UxGT("VYS. TEPL. PODL.") #define MSG_ERR_MAXTEMP_BED _UxGT("VYS. TEPL. PODL.")
#define MSG_ERR_MINTEMP_BED _UxGT("NIZ. TEPL. PODL.") #define MSG_ERR_MINTEMP_BED _UxGT("NÍZ. TEPL. PODL.")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST #define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("TISK. ZASTAVENA") #define MSG_HALTED _UxGT("TISK. ZASTAVENA")
#define MSG_PLEASE_RESET _UxGT("Provedte reset") #define MSG_PLEASE_RESET _UxGT("Proveďte reset")
#define MSG_SHORT_DAY _UxGT("d") #define MSG_SHORT_DAY _UxGT("d")
#define MSG_SHORT_HOUR _UxGT("h") #define MSG_SHORT_HOUR _UxGT("h")
#define MSG_SHORT_MINUTE _UxGT("m") #define MSG_SHORT_MINUTE _UxGT("m")
#define MSG_HEATING _UxGT("Zahrivani...") #define MSG_HEATING _UxGT("Zahřívání...")
#define MSG_HEATING_COMPLETE _UxGT("Zahrati hotovo.") #define MSG_HEATING_COMPLETE _UxGT("Zahřáti hotovo.")
#define MSG_BED_HEATING _UxGT("Zahrivani podl.") #define MSG_BED_HEATING _UxGT("Zahřívání podl.")
#define MSG_BED_DONE _UxGT("Podlozka hotova.") #define MSG_BED_DONE _UxGT("Podložka hotova.")
#define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrace") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrace")
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrovat X") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrovat X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z") #define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Stred") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Střed")
#define MSG_DELTA_SETTINGS _UxGT("Delta nastaveni") #define MSG_DELTA_SETTINGS _UxGT("Delta nastavení")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.vysku delty") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty")
#define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") #define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno")
#define MSG_DELTA_HEIGHT _UxGT("Vyska") #define MSG_DELTA_HEIGHT _UxGT("Výška")
#define MSG_DELTA_RADIUS _UxGT("Polomer") #define MSG_DELTA_RADIUS _UxGT("Poloměr")
#define MSG_INFO_MENU _UxGT("O tiskarne") #define MSG_INFO_MENU _UxGT("O tiskárně")
#define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskarne") #define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskárně")
#define MSG_3POINT_LEVELING _UxGT("3-bodove rovnani") #define MSG_3POINT_LEVELING _UxGT("3-bodové rovnání")
#define MSG_LINEAR_LEVELING _UxGT("Linearni rovnani") #define MSG_LINEAR_LEVELING _UxGT("Lineárni rovnání")
#define MSG_BILINEAR_LEVELING _UxGT("Bilinearni rovnani") #define MSG_BILINEAR_LEVELING _UxGT("Bilineární rovnání")
#define MSG_UBL_LEVELING _UxGT("Unified Bed Leveling") #define MSG_UBL_LEVELING _UxGT("Unified Bed Leveling")
#define MSG_MESH_LEVELING _UxGT("Mrizkove rovnani") #define MSG_MESH_LEVELING _UxGT("Mřížkové rovnání")
#define MSG_INFO_STATS_MENU _UxGT("Statistika") #define MSG_INFO_STATS_MENU _UxGT("Statistika")
#define MSG_INFO_BOARD_MENU _UxGT("Info o desce") #define MSG_INFO_BOARD_MENU _UxGT("Info o desce")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Termistory") #define MSG_INFO_THERMISTOR_MENU _UxGT("Termistory")
#define MSG_INFO_EXTRUDERS _UxGT("Extrudery") #define MSG_INFO_EXTRUDERS _UxGT("Extrudéry")
#define MSG_INFO_BAUDRATE _UxGT("Rychlost") #define MSG_INFO_BAUDRATE _UxGT("Rychlost")
#define MSG_INFO_PROTOCOL _UxGT("Protokol") #define MSG_INFO_PROTOCOL _UxGT("Protokol")
#define MSG_CASE_LIGHT _UxGT("Osvetleni") #define MSG_CASE_LIGHT _UxGT("Osvětlení")
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Jas svetla") #define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Jas světla")
#if LCD_WIDTH >= 20 #if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Pocet tisku") #define MSG_INFO_PRINT_COUNT _UxGT("Počet tisků")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Dokonceno") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Dokončeno")
#define MSG_INFO_PRINT_TIME _UxGT("Celkovy cas") #define MSG_INFO_PRINT_TIME _UxGT("Celkový čas")
#define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelsi tisk") #define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelší tisk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Celkem vytlaceno") #define MSG_INFO_PRINT_FILAMENT _UxGT("Celkem vytlačeno")
#else #else
#define MSG_INFO_PRINT_COUNT _UxGT("Tisky") #define MSG_INFO_PRINT_COUNT _UxGT("Tisky")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Hotovo") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Hotovo")
#define MSG_INFO_PRINT_TIME _UxGT("Cas") #define MSG_INFO_PRINT_TIME _UxGT("Čas")
#define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelsi") #define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelší")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Vytlaceno") #define MSG_INFO_PRINT_FILAMENT _UxGT("Vytlačeno")
#endif #endif
#define MSG_INFO_MIN_TEMP _UxGT("Teplota min") #define MSG_INFO_MIN_TEMP _UxGT("Teplota min")
#define MSG_INFO_MAX_TEMP _UxGT("Teplota max") #define MSG_INFO_MAX_TEMP _UxGT("Teplota max")
#define MSG_INFO_PSU _UxGT("Nap. zdroj") #define MSG_INFO_PSU _UxGT("Nap. zdroj")
#define MSG_DRIVE_STRENGTH _UxGT("Buzeni motoru") #define MSG_DRIVE_STRENGTH _UxGT("Buzení motorů")
#define MSG_DAC_PERCENT _UxGT("Motor %") #define MSG_DAC_PERCENT _UxGT("Motor %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Ulozit do EEPROM") #define MSG_DAC_EEPROM_WRITE _UxGT("Uložit do EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("TISK POZASTAVEN") #define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("TISK POZASTAVEN")
#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("ZAVEDENI FILAMENTU") #define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("ZAVEDENÍ FILAMENTU")
#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("VYSUNUTI FILAMENTU") #define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("VYSUNUTÍ FILAMENTU")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("MOZNOSTI OBNOVENI:") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("MOŽNOSTI OBNOVENÍ:")
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Vytlacit vic") #define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Vytlačit víc")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ") #define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ")
#define MSG_ERR_HOMING_FAILED _UxGT("Parkovani selhalo") #define MSG_ERR_HOMING_FAILED _UxGT("Parkování selhalo")
#define MSG_ERR_PROBING_FAILED _UxGT("Kalibrace selhala") #define MSG_ERR_PROBING_FAILED _UxGT("Kalibrace selhala")
#define MSG_M600_TOO_COLD _UxGT("M600: Moc studeny") #define MSG_M600_TOO_COLD _UxGT("M600: Moc studený")
#if LCD_HEIGHT >= 4 #if LCD_HEIGHT >= 4
// Up to 3 lines allowed // Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Cekejte prosim") #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("na zahajeni") #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("na zahájení")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("vymeny filamentu") #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("výměny filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Cekejte prosim") #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("na vysunuti") #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("na vysunuti")
#define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("filamentu") #define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vlozte filament") #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vložte filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("a stisknete") #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("a stiskněte")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("tlacitko...") #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("tlačítko...")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Kliknete pro") #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Klikněte pro")
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("nahrati trysky") #define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("nahřátí trysky")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Cekejte prosim") #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("na nahrati tr.") #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("na nahřátí tr.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Cekejte prosim") #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("na zavedeni") #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("na zavedení")
#define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("filamentu") #define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("filamentu")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vyckejte na") #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vyčkejte na")
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("vytlaceni") #define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("vytlačení")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Cekejte prosim") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("na pokracovani") #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("na pokračování")
#define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("tisku") #define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("tisku")
#else // LCD_HEIGHT < 4 #else // LCD_HEIGHT < 4
// Up to 2 lines allowed // Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Cekejte...") #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekejte...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Vysouvani...") #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Vysouvání...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vlozte, kliknete") #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vložte, klikněte")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Nahrivani...") #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Nahřívání...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Zavadeni...") #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Zavádění...")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vytlacovani...") #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vytlačování...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Pokracovani...") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Pokračování...")
#endif // LCD_HEIGHT < 4 #endif // LCD_HEIGHT < 4
#endif // LANGUAGE_CZ_H #endif // LANGUAGE_CZ_UTF_H

View file

@ -1,405 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Czech
* UTF-8 for Graphical Display
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
* Translated by Petr Zahradnik, Computer Laboratory
* Blog and video blog Zahradnik se bavi
* http://www.zahradniksebavi.cz
*
*/
#ifndef LANGUAGE_CZ_UTF_H
#define LANGUAGE_CZ_UTF_H
#define MAPPER_C3C4C5_CZ
#define DISPLAY_CHARSET_ISO10646_CZ
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" připraven.")
#define MSG_BACK _UxGT("Zpět")
#define MSG_SD_INSERTED _UxGT("Karta vložena")
#define MSG_SD_REMOVED _UxGT("Karta vyjmuta")
#define MSG_LCD_ENDSTOPS _UxGT("Endstopy") // max 8 znaku
#define MSG_MAIN _UxGT("Hlavní nabídka")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Uvolnit motory")
#define MSG_DEBUG_MENU _UxGT("Nabídka ladění")
#define MSG_PROGRESS_BAR_TEST _UxGT("Test uk. průběhu")
#define MSG_AUTO_HOME _UxGT("Domovská pozice")
#define MSG_AUTO_HOME_X _UxGT("Domů osa X")
#define MSG_AUTO_HOME_Y _UxGT("Domů osa Y")
#define MSG_AUTO_HOME_Z _UxGT("Domů osa Z")
#define MSG_LEVEL_BED_HOMING _UxGT("Měření podložky")
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknutím spusťte")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Další bod")
#define MSG_LEVEL_BED_DONE _UxGT("Měření hotovo!")
#define MSG_Z_FADE_HEIGHT _UxGT("Výška srovnávání")
#define MSG_SET_HOME_OFFSETS _UxGT("Nastavit ofsety")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Ofsety nastaveny")
#define MSG_SET_ORIGIN _UxGT("Nastavit počátek")
#define MSG_PREHEAT_1 _UxGT("Zahřát PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" vše")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" hotend")
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" podlož")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" nast")
#define MSG_PREHEAT_2 _UxGT("Zahřát ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" vše")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" hotend")
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" podlož")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" nast")
#define MSG_COOLDOWN _UxGT("Zchladit")
#define MSG_SWITCH_PS_ON _UxGT("Zapnout napájení")
#define MSG_SWITCH_PS_OFF _UxGT("Vypnout napájení")
#define MSG_EXTRUDE _UxGT("Vytlačit (extr.)")
#define MSG_RETRACT _UxGT("Zatlačit (retr.)")
#define MSG_MOVE_AXIS _UxGT("Posunout osy")
#define MSG_BED_LEVELING _UxGT("Vyrovnat podložku")
#define MSG_LEVEL_BED _UxGT("Vyrovnat podložku")
#define MSG_LEVEL_CORNERS _UxGT("Vyrovnat rohy")
#define MSG_NEXT_CORNER _UxGT("Další roh")
#define MSG_EDITING_STOPPED _UxGT("Konec úprav sítě")
#define MSG_UBL_DOING_G29 _UxGT("Provádím G29")
#define MSG_UBL_UNHOMED _UxGT("Přejeďte domů")
#define MSG_UBL_TOOLS _UxGT("UBL nástroje")
#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling")
#define MSG_UBL_MANUAL_MESH _UxGT("Manuální síť bodů")
#define MSG_UBL_BC_INSERT _UxGT("Vložte kartu, změřte")
#define MSG_UBL_BC_INSERT2 _UxGT("Změřte")
#define MSG_UBL_BC_REMOVE _UxGT("Odstraňte a změřte")
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Přesun na další")
#define MSG_UBL_ACTIVATE_MESH _UxGT("Aktivovat UBL")
#define MSG_UBL_DEACTIVATE_MESH _UxGT("Deaktivovat UBL")
#define MSG_UBL_SET_BED_TEMP _UxGT("Teplota podložky")
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
#define MSG_UBL_MESH_EDIT _UxGT("Úprava sítě bodů")
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastní síť")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit síť bodů")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec úprav sítě")
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Vlastní síť")
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Vytvořit síť")
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Síť bodu PLA")
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Síť bodu ABS")
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Studená síť bodů")
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Upravit výšku sítě")
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Výška")
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat síť")
#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Kontrola sítě PLA")
#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Kontrola sítě ABS")
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Kontrola vlast. sítě")
#define MSG_UBL_CONTINUE_MESH _UxGT("Pokračovat v síťi")
#define MSG_UBL_MESH_LEVELING _UxGT("Síťové rovnání")
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-bodove rovnání")
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Mrizkove rovnání")
#define MSG_UBL_MESH_LEVEL _UxGT("Srovnat podložku")
#define MSG_UBL_SIDE_POINTS _UxGT("Postranní body")
#define MSG_UBL_MAP_TYPE _UxGT("Typ sítě bodu")
#define MSG_UBL_OUTPUT_MAP _UxGT("Exportovat síť")
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Exportovat do PC")
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Exportovat do CSV")
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Záloha do PC")
#define MSG_UBL_INFO_UBL _UxGT("Info o UBL do PC")
#define MSG_UBL_EDIT_MESH_MENU _UxGT("Upravit síť bodů")
#define MSG_UBL_FILLIN_AMOUNT _UxGT("Hustota mřížky")
#define MSG_UBL_MANUAL_FILLIN _UxGT("Ruční hustota")
#define MSG_UBL_SMART_FILLIN _UxGT("Chytrá hustota")
#define MSG_UBL_FILLIN_MESH _UxGT("Zaplnit mřížku")
#define MSG_UBL_INVALIDATE_ALL _UxGT("Zrušit všechno")
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Zrušit poslední")
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Upravit všechny")
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Upravit poslední")
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Uložiště sítí")
#define MSG_UBL_STORAGE_SLOT _UxGT("Paměťový slot")
#define MSG_UBL_LOAD_MESH _UxGT("Načíst síť bodů")
#define MSG_UBL_SAVE_MESH _UxGT("Uložit síť bodů")
#define MSG_MESH_LOADED _UxGT("Síť %i načtena")
#define MSG_MESH_SAVED _UxGT("Síť %i uložena")
#define MSG_NO_STORAGE _UxGT("Nedostatek místa")
#define MSG_UBL_SAVE_ERROR _UxGT("Err: Uložit UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupně")
#define MSG_LED_CONTROL _UxGT("LED Nastavení")
#define MSG_LEDS_ON _UxGT("Světla Zap")
#define MSG_LEDS_OFF _UxGT("Světla Vyp")
#define MSG_LED_PRESETS _UxGT("Světla Předvolby")
#define MSG_SET_LEDS_RED _UxGT("Červená")
#define MSG_SET_LEDS_ORANGE _UxGT("Oranžová")
#define MSG_SET_LEDS_YELLOW _UxGT("Žlutá")
#define MSG_SET_LEDS_GREEN _UxGT("Zelená")
#define MSG_SET_LEDS_BLUE _UxGT("Modrá")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Fialová")
#define MSG_SET_LEDS_WHITE _UxGT("Bílá")
#define MSG_SET_LEDS_DEFAULT _UxGT("Výchozí")
#define MSG_CUSTOM_LEDS _UxGT("Vlastní světla")
#define MSG_INTENSITY_R _UxGT("Červená intenzita")
#define MSG_INTENSITY_G _UxGT("Zelená intezita")
#define MSG_INTENSITY_B _UxGT("Modrá intenzita")
#define MSG_INTENSITY_W _UxGT("Bílá intenzita")
#define MSG_LED_BRIGHTNESS _UxGT("Jas")
#define MSG_USER_MENU _UxGT("Vlastní příkazy")
#define MSG_MOVING _UxGT("Posouvani...")
#define MSG_FREE_XY _UxGT("Uvolnit XY")
#define MSG_MOVE_X _UxGT("Posunout X")
#define MSG_MOVE_Y _UxGT("Posunout Y")
#define MSG_MOVE_Z _UxGT("Posunout Z")
#define MSG_MOVE_E _UxGT("Extrudér")
#define MSG_MOVE_01MM _UxGT("Posunout o 0,1mm")
#define MSG_MOVE_1MM _UxGT("Posunout o 1mm")
#define MSG_MOVE_10MM _UxGT("Posunout o 10mm")
#define MSG_SPEED _UxGT("Rychlost")
#define MSG_BED_Z _UxGT("Výška podl.")
#define MSG_NOZZLE _UxGT("Tryska")
#define MSG_BED _UxGT("Podložka")
#define MSG_FAN_SPEED _UxGT("Rychlost vent.")
#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.")
#define MSG_FLOW _UxGT("Průtok")
#define MSG_CONTROL _UxGT("Ovládaní")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fakt")
#define MSG_AUTOTEMP _UxGT("Autoteplota")
#define MSG_ON _UxGT("Zap")
#define MSG_OFF _UxGT("Vyp")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Vybrat")
#define MSG_ACC _UxGT("Zrychl")
#define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Va-jerk")
#define MSG_VB_JERK _UxGT("Vb-jerk")
#define MSG_VC_JERK _UxGT("Vc-jerk")
#else
#define MSG_VA_JERK _UxGT("Vx-jerk")
#define MSG_VB_JERK _UxGT("Vy-jerk")
#define MSG_VC_JERK _UxGT("Vz-jerk")
#endif
#define MSG_VE_JERK _UxGT("Ve-jerk")
#define MSG_VELOCITY _UxGT("Rychlost")
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("VTrav min")
#define MSG_ACCELERATION _UxGT("Akcelerace")
#define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("A-retrakt")
#define MSG_A_TRAVEL _UxGT("A-přejezd")
#define MSG_STEPS_PER_MM _UxGT("Kroků/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("Akroků/mm")
#define MSG_BSTEPS _UxGT("Bkroků/mm")
#define MSG_CSTEPS _UxGT("Ckroků/mm")
#else
#define MSG_ASTEPS _UxGT("Xkroků/mm")
#define MSG_BSTEPS _UxGT("Ykroků/mm")
#define MSG_CSTEPS _UxGT("Zkroků/mm")
#endif
#define MSG_ESTEPS _UxGT("Ekroků/mm")
#define MSG_E1STEPS _UxGT("E1kroků/mm")
#define MSG_E2STEPS _UxGT("E2kroků/mm")
#define MSG_E3STEPS _UxGT("E3kroků/mm")
#define MSG_E4STEPS _UxGT("E4kroků/mm")
#define MSG_E5STEPS _UxGT("E5kroků/mm")
#define MSG_TEMPERATURE _UxGT("Teplota")
#define MSG_MOTION _UxGT("Pohyb")
#define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E na mm3")
#define MSG_FILAMENT_DIAM _UxGT("Fil. Prum.")
#define MSG_FILAMENT_UNLOAD _UxGT("Vysunout mm")
#define MSG_FILAMENT_LOAD _UxGT("Zavést mm")
#define MSG_ADVANCE_K _UxGT("K pro posun")
#define MSG_CONTRAST _UxGT("Kontrast LCD")
#define MSG_STORE_EEPROM _UxGT("Uložit nastavení")
#define MSG_LOAD_EEPROM _UxGT("Načíst nastavení")
#define MSG_RESTORE_FAILSAFE _UxGT("Obnovit výchozí")
#define MSG_INIT_EEPROM _UxGT("Inic. EEPROM")
#define MSG_REFRESH _UxGT("Obnovit")
#define MSG_WATCH _UxGT("Info obrazovka")
#define MSG_PREPARE _UxGT("Připrava tisku")
#define MSG_TUNE _UxGT("Doladění tisku")
#define MSG_PAUSE_PRINT _UxGT("Pozastavit tisk")
#define MSG_RESUME_PRINT _UxGT("Obnovit tisk")
#define MSG_STOP_PRINT _UxGT("Zastavit tisk")
#define MSG_CARD_MENU _UxGT("Tisknout z SD")
#define MSG_NO_CARD _UxGT("Žádná SD karta")
#define MSG_DWELL _UxGT("Uspáno...")
#define MSG_USERWAIT _UxGT("Čekání na uživ...")
#define MSG_PRINT_PAUSED _UxGT("Tisk pozastaven")
#define MSG_RESUMING _UxGT("Obnovování tisku")
#define MSG_PRINT_ABORTED _UxGT("Tisk zrušen")
#define MSG_NO_MOVE _UxGT("Žádný pohyb.")
#define MSG_KILLED _UxGT("PŘERUSENO. ")
#define MSG_STOPPED _UxGT("ZASTAVENO. ")
#define MSG_CONTROL_RETRACT _UxGT("Retrakt mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Výměna Re.mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retraktovat V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Zvednuti Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V")
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V")
#define MSG_AUTORETRACT _UxGT("AutoRetr.")
#define MSG_FILAMENTCHANGE _UxGT("Vyměnit filament")
#define MSG_FILAMENTLOAD _UxGT("Zavést filament")
#define MSG_FILAMENTUNLOAD _UxGT("Vysunout filament")
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Vysunout vše")
#define MSG_INIT_SDCARD _UxGT("Načíst SD kartu")
#define MSG_CNG_SDCARD _UxGT("Vyměnit SD kartu")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl")
#define MSG_SKEW_FACTOR _UxGT("Faktor zkosení")
#define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset")
#define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch Vysunout")
#define MSG_BLTOUCH_STOW _UxGT("BLTouch Zasunout")
#define MSG_HOME _UxGT("Domů") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("první")
#define MSG_ZPROBE_ZOFFSET _UxGT("Z ofset")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Endstop abort")
#define MSG_HEATING_FAILED_LCD _UxGT("Chyba zahřívání")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEPLOTA")
#define MSG_THERMAL_RUNAWAY _UxGT("TEPLOTNÍ SKOK")
#define MSG_ERR_MAXTEMP _UxGT("VYSOKÁ TEPLOTA")
#define MSG_ERR_MINTEMP _UxGT("NÍZKA TEPLOTA")
#define MSG_ERR_MAXTEMP_BED _UxGT("VYS. TEPL. PODL.")
#define MSG_ERR_MINTEMP_BED _UxGT("NÍZ. TEPL. PODL.")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("TISK. ZASTAVENA")
#define MSG_PLEASE_RESET _UxGT("Proveďte reset")
#define MSG_SHORT_DAY _UxGT("d")
#define MSG_SHORT_HOUR _UxGT("h")
#define MSG_SHORT_MINUTE _UxGT("m")
#define MSG_HEATING _UxGT("Zahřívání...")
#define MSG_HEATING_COMPLETE _UxGT("Zahřáti hotovo.")
#define MSG_BED_HEATING _UxGT("Zahřívání podl.")
#define MSG_BED_DONE _UxGT("Podložka hotova.")
#define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrace")
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrovat X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Střed")
#define MSG_DELTA_SETTINGS _UxGT("Delta nastavení")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty")
#define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno")
#define MSG_DELTA_HEIGHT _UxGT("Výška")
#define MSG_DELTA_RADIUS _UxGT("Poloměr")
#define MSG_INFO_MENU _UxGT("O tiskárně")
#define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskárně")
#define MSG_3POINT_LEVELING _UxGT("3-bodové rovnání")
#define MSG_LINEAR_LEVELING _UxGT("Lineárni rovnání")
#define MSG_BILINEAR_LEVELING _UxGT("Bilineární rovnání")
#define MSG_UBL_LEVELING _UxGT("Unified Bed Leveling")
#define MSG_MESH_LEVELING _UxGT("Mřížkové rovnání")
#define MSG_INFO_STATS_MENU _UxGT("Statistika")
#define MSG_INFO_BOARD_MENU _UxGT("Info o desce")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Termistory")
#define MSG_INFO_EXTRUDERS _UxGT("Extrudéry")
#define MSG_INFO_BAUDRATE _UxGT("Rychlost")
#define MSG_INFO_PROTOCOL _UxGT("Protokol")
#define MSG_CASE_LIGHT _UxGT("Osvětlení")
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Jas světla")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Počet tisků")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Dokončeno")
#define MSG_INFO_PRINT_TIME _UxGT("Celkový čas")
#define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelší tisk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Celkem vytlačeno")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Tisky")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Hotovo")
#define MSG_INFO_PRINT_TIME _UxGT("Čas")
#define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelší")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Vytlačeno")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Teplota min")
#define MSG_INFO_MAX_TEMP _UxGT("Teplota max")
#define MSG_INFO_PSU _UxGT("Nap. zdroj")
#define MSG_DRIVE_STRENGTH _UxGT("Buzení motorů")
#define MSG_DAC_PERCENT _UxGT("Motor %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Uložit do EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("TISK POZASTAVEN")
#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("ZAVEDENÍ FILAMENTU")
#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("VYSUNUTÍ FILAMENTU")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("MOŽNOSTI OBNOVENÍ:")
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Vytlačit víc")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ")
#define MSG_ERR_HOMING_FAILED _UxGT("Parkování selhalo")
#define MSG_ERR_PROBING_FAILED _UxGT("Kalibrace selhala")
#define MSG_M600_TOO_COLD _UxGT("M600: Moc studený")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("na zahájení")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("výměny filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("na vysunuti")
#define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vložte filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("a stiskněte")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("tlačítko...")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Klikněte pro")
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("nahřátí trysky")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("na nahřátí tr.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("na zavedení")
#define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("filamentu")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vyčkejte na")
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("vytlačení")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Čekejte prosím")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("na pokračování")
#define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("tisku")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Čekejte...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Vysouvání...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vložte, klikněte")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Nahřívání...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Zavádění...")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vytlačování...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Pokračování...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_CZ_UTF_H

View file

@ -27,21 +27,22 @@
* See also http://marlinfw.org/docs/development/lcd_language.html * See also http://marlinfw.org/docs/development/lcd_language.html
* *
*/ */
#ifndef LANGUAGE_ES_H #ifndef LANGUAGE_ES_UTF_H
#define LANGUAGE_ES_H #define LANGUAGE_ES_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1 #define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7
#define CHARSIZE 2 #define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" lista.") #define WELCOME_MSG MACHINE_NAME _UxGT(" lista.")
#define MSG_BACK _UxGT("Atras") #define MSG_BACK _UxGT("Atrás")
#define MSG_SD_INSERTED _UxGT("Tarjeta colocada") #define MSG_SD_INSERTED _UxGT("Tarjeta colocada")
#define MSG_SD_REMOVED _UxGT("Tarjeta retirada") #define MSG_SD_REMOVED _UxGT("Tarjeta retirada")
#define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters #define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu principal") #define MSG_MAIN _UxGT("Menú principal")
#define MSG_AUTOSTART _UxGT("Inicio automatico") #define MSG_AUTOSTART _UxGT("Inicio automático")
#define MSG_DISABLE_STEPPERS _UxGT("Apagar motores") #define MSG_DISABLE_STEPPERS _UxGT("Apagar motores")
#define MSG_DEBUG_MENU _UxGT("Menu depurar") #define MSG_DEBUG_MENU _UxGT("Menú depurar")
#define MSG_PROGRESS_BAR_TEST _UxGT("Prueba barra avance") #define MSG_PROGRESS_BAR_TEST _UxGT("Prueba barra avance")
#define MSG_AUTO_HOME _UxGT("Llevar al origen") #define MSG_AUTO_HOME _UxGT("Llevar al origen")
#define MSG_AUTO_HOME_X _UxGT("Origen X") #define MSG_AUTO_HOME_X _UxGT("Origen X")
@ -50,30 +51,30 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Origen XYZ") #define MSG_LEVEL_BED_HOMING _UxGT("Origen XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)") #define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelacion lista!") #define MSG_LEVEL_BED_DONE _UxGT("Nivelación lista!")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajustar desfases") #define MSG_SET_HOME_OFFSETS _UxGT("Ajustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado")
#define MSG_SET_ORIGIN _UxGT("Establecer origen") #define MSG_SET_ORIGIN _UxGT("Establecer origen")
#define MSG_PREHEAT_1 _UxGT("Precalentar PLA") #define MSG_PREHEAT_1 _UxGT("Precalentar PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ") #define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT("Todo") #define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" Todo")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" End") #define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" End")
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT("Plataforma") #define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" Cama")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT("Config") #define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" Config")
#define MSG_PREHEAT_2 _UxGT("Precalentar ABS") #define MSG_PREHEAT_2 _UxGT("Precalentar ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ") #define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT("Todo") #define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" Todo")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" End") #define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" End")
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT("Plataforma") #define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" Cama")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT("Config") #define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" Config")
#define MSG_COOLDOWN _UxGT("Enfriar") #define MSG_COOLDOWN _UxGT("Enfriar")
#define MSG_SWITCH_PS_ON _UxGT("Encender") #define MSG_SWITCH_PS_ON _UxGT("Encender")
#define MSG_SWITCH_PS_OFF _UxGT("Apagar") #define MSG_SWITCH_PS_OFF _UxGT("Apagar")
#define MSG_EXTRUDE _UxGT("Extruir") #define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer") #define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover ejes") #define MSG_MOVE_AXIS _UxGT("Mover ejes")
#define MSG_BED_LEVELING _UxGT("Nivelar plataforma") #define MSG_BED_LEVELING _UxGT("Nivelar cama")
#define MSG_LEVEL_BED _UxGT("Nivelar plataforma") #define MSG_LEVEL_BED _UxGT("Nivelar cama")
#define MSG_MOVING _UxGT("Moviendo...") #define MSG_MOVING _UxGT("Moviendo...")
#define MSG_FREE_XY _UxGT("Libre XY") #define MSG_FREE_XY _UxGT("Libre XY")
#define MSG_MOVE_X _UxGT("Mover X") #define MSG_MOVE_X _UxGT("Mover X")
@ -84,9 +85,9 @@
#define MSG_MOVE_1MM _UxGT("Mover 1mm") #define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM _UxGT("Mover 10mm") #define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED _UxGT("Velocidad") #define MSG_SPEED _UxGT("Velocidad")
#define MSG_BED_Z _UxGT("Plataforma Z") #define MSG_BED_Z _UxGT("Cama Z")
#define MSG_NOZZLE _UxGT("Boquilla") #define MSG_NOZZLE _UxGT("Boquilla")
#define MSG_BED _UxGT("Plataforma") #define MSG_BED _UxGT("Cama")
#define MSG_FAN_SPEED _UxGT("Ventilador") #define MSG_FAN_SPEED _UxGT("Ventilador")
#define MSG_FLOW _UxGT("Flujo") #define MSG_FLOW _UxGT("Flujo")
#define MSG_CONTROL _UxGT("Control") #define MSG_CONTROL _UxGT("Control")
@ -101,17 +102,11 @@
#define MSG_PID_D _UxGT("PID-D") #define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C") #define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Seleccionar") #define MSG_SELECT _UxGT("Seleccionar")
#define MSG_ACC _UxGT("Aceleracion") #define MSG_ACC _UxGT("Aceleración")
#define MSG_JERK _UxGT("Jerk") #define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC #define MSG_VX_JERK _UxGT("Vx-jerk")
#define MSG_VA_JERK _UxGT("Va-jerk") #define MSG_VY_JERK _UxGT("Vy-jerk")
#define MSG_VB_JERK _UxGT("Vb-jerk") #define MSG_VZ_JERK _UxGT("Vz-jerk")
#define MSG_VC_JERK _UxGT("Vc-jerk")
#else
#define MSG_VA_JERK _UxGT("Vx-jerk")
#define MSG_VB_JERK _UxGT("Vy-jerk")
#define MSG_VC_JERK _UxGT("Vz-jerk")
#endif
#define MSG_VE_JERK _UxGT("Ve-jerk") #define MSG_VE_JERK _UxGT("Ve-jerk")
#define MSG_VMAX _UxGT("Vmax") #define MSG_VMAX _UxGT("Vmax")
#define MSG_VMIN _UxGT("Vmin") #define MSG_VMIN _UxGT("Vmin")
@ -121,15 +116,9 @@
#define MSG_A_RETRACT _UxGT("Acel. retrac.") #define MSG_A_RETRACT _UxGT("Acel. retrac.")
#define MSG_A_TRAVEL _UxGT("Acel. Viaje") #define MSG_A_TRAVEL _UxGT("Acel. Viaje")
#define MSG_STEPS_PER_MM _UxGT("Pasos/mm") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm")
#if IS_KINEMATIC #define MSG_XSTEPS _UxGT("X pasos/mm")
#define MSG_ASTEPS _UxGT("A pasos/mm") #define MSG_YSTEPS _UxGT("Y pasos/mm")
#define MSG_BSTEPS _UxGT("B pasos/mm") #define MSG_ZSTEPS _UxGT("Z pasos/mm")
#define MSG_CSTEPS _UxGT("C pasos/mm")
#else
#define MSG_ASTEPS _UxGT("X pasos/mm")
#define MSG_BSTEPS _UxGT("Y pasos/mm")
#define MSG_CSTEPS _UxGT("Z pasos/mm")
#endif
#define MSG_ESTEPS _UxGT("E pasos/mm") #define MSG_ESTEPS _UxGT("E pasos/mm")
#define MSG_E1STEPS _UxGT("E1 pasos/mm") #define MSG_E1STEPS _UxGT("E1 pasos/mm")
#define MSG_E2STEPS _UxGT("E2 pasos/mm") #define MSG_E2STEPS _UxGT("E2 pasos/mm")
@ -147,18 +136,18 @@
#define MSG_LOAD_EEPROM _UxGT("Cargar memoria") #define MSG_LOAD_EEPROM _UxGT("Cargar memoria")
#define MSG_RESTORE_FAILSAFE _UxGT("Restaurar memoria") #define MSG_RESTORE_FAILSAFE _UxGT("Restaurar memoria")
#define MSG_REFRESH _UxGT("Volver a cargar") #define MSG_REFRESH _UxGT("Volver a cargar")
#define MSG_WATCH _UxGT("Informacion") #define MSG_WATCH _UxGT("Información")
#define MSG_PREPARE _UxGT("Preparar") #define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE _UxGT("Ajustar") #define MSG_TUNE _UxGT("Ajustar")
#define MSG_PAUSE_PRINT _UxGT("Pausar impresion") #define MSG_PAUSE_PRINT _UxGT("Pausar impresión")
#define MSG_RESUME_PRINT _UxGT("Reanudar impresion") #define MSG_RESUME_PRINT _UxGT("Reanudar impresión")
#define MSG_STOP_PRINT _UxGT("Detener impresion") #define MSG_STOP_PRINT _UxGT("Detener impresión")
#define MSG_CARD_MENU _UxGT("Menu de SD") #define MSG_CARD_MENU _UxGT("Menú de SD")
#define MSG_NO_CARD _UxGT("No hay tarjeta SD") #define MSG_NO_CARD _UxGT("No hay tarjeta SD")
#define MSG_DWELL _UxGT("Reposo...") #define MSG_DWELL _UxGT("Reposo...")
#define MSG_USERWAIT _UxGT("Esperando ordenes") #define MSG_USERWAIT _UxGT("Esperando órdenes")
#define MSG_RESUMING _UxGT("Resumiendo impre.") #define MSG_RESUMING _UxGT("Resumiendo impresión")
#define MSG_PRINT_ABORTED _UxGT("Impresion cancelada") #define MSG_PRINT_ABORTED _UxGT("Impresión cancelada")
#define MSG_NO_MOVE _UxGT("Sin movimiento") #define MSG_NO_MOVE _UxGT("Sin movimiento")
#define MSG_KILLED _UxGT("Parada de emergencia") #define MSG_KILLED _UxGT("Parada de emergencia")
#define MSG_STOPPED _UxGT("Detenida") #define MSG_STOPPED _UxGT("Detenida")
@ -169,7 +158,7 @@
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("DesRet mm") #define MSG_CONTROL_RETRACT_RECOVER _UxGT("DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Interc. DesRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Interc. DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("DesRet V") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("DesRet V")
#define MSG_AUTORETRACT _UxGT("Retraccion Auto.") #define MSG_AUTORETRACT _UxGT("Retracción Auto.")
#define MSG_FILAMENTCHANGE _UxGT("Cambiar filamento") #define MSG_FILAMENTCHANGE _UxGT("Cambiar filamento")
#define MSG_INIT_SDCARD _UxGT("Iniciando tarjeta") #define MSG_INIT_SDCARD _UxGT("Iniciando tarjeta")
#define MSG_CNG_SDCARD _UxGT("Cambiar tarjeta") #define MSG_CNG_SDCARD _UxGT("Cambiar tarjeta")
@ -177,7 +166,7 @@
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Auto-Prueba") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Auto-Prueba")
#define MSG_BLTOUCH_RESET _UxGT("Reiniciar BLTouch") #define MSG_BLTOUCH_RESET _UxGT("Reiniciar BLTouch")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("inic.") #define MSG_FIRST _UxGT("primero")
#define MSG_ZPROBE_ZOFFSET _UxGT("Desfase Z") #define MSG_ZPROBE_ZOFFSET _UxGT("Desfase Z")
#define MSG_BABYSTEP_X _UxGT("Micropaso X") #define MSG_BABYSTEP_X _UxGT("Micropaso X")
#define MSG_BABYSTEP_Y _UxGT("Micropaso Y") #define MSG_BABYSTEP_Y _UxGT("Micropaso Y")
@ -186,10 +175,10 @@
#define MSG_HEATING_FAILED_LCD _UxGT("Error: al calentar") #define MSG_HEATING_FAILED_LCD _UxGT("Error: al calentar")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Error: temperatura") #define MSG_ERR_REDUNDANT_TEMP _UxGT("Error: temperatura")
#define MSG_THERMAL_RUNAWAY _UxGT("Error: temperatura") #define MSG_THERMAL_RUNAWAY _UxGT("Error: temperatura")
#define MSG_ERR_MAXTEMP _UxGT("Error: Temp Maxima") #define MSG_ERR_MAXTEMP _UxGT("Error: Temp Máxima")
#define MSG_ERR_MINTEMP _UxGT("Error: Temp Minima") #define MSG_ERR_MINTEMP _UxGT("Error: Temp Mínima")
#define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max Plat") #define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max Cama")
#define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min Plat") #define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min Cama")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST #define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("IMPRESORA PARADA") #define MSG_HALTED _UxGT("IMPRESORA PARADA")
#define MSG_PLEASE_RESET _UxGT("Por favor, reinicie") #define MSG_PLEASE_RESET _UxGT("Por favor, reinicie")
@ -198,18 +187,18 @@
#define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("Calentando...") #define MSG_HEATING _UxGT("Calentando...")
#define MSG_HEATING_COMPLETE _UxGT("Calentamiento listo") #define MSG_HEATING_COMPLETE _UxGT("Calentamiento listo")
#define MSG_BED_HEATING _UxGT("Calentando Plat...") #define MSG_BED_HEATING _UxGT("Calentando Cama...")
#define MSG_BED_DONE _UxGT("Plataforma Caliente") #define MSG_BED_DONE _UxGT("Cama Caliente")
#define MSG_DELTA_CALIBRATE _UxGT("Calibracion Delta") #define MSG_DELTA_CALIBRATE _UxGT("Calibración Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z") #define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Auto Calibracion") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Auto Calibración")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Est. Altura Delta") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Est. Altura Delta")
#define MSG_INFO_MENU _UxGT("Inf. Impresora") #define MSG_INFO_MENU _UxGT("Inf. Impresora")
#define MSG_INFO_PRINTER_MENU _UxGT("Inf. Impresora") #define MSG_INFO_PRINTER_MENU _UxGT("Inf. Impresora")
#define MSG_INFO_STATS_MENU _UxGT("Estadisticas Imp.") #define MSG_INFO_STATS_MENU _UxGT("Estadísticas Imp.")
#define MSG_INFO_BOARD_MENU _UxGT("Inf. Controlador") #define MSG_INFO_BOARD_MENU _UxGT("Inf. Controlador")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Termistores") #define MSG_INFO_THERMISTOR_MENU _UxGT("Termistores")
#define MSG_INFO_EXTRUDERS _UxGT("Extrusores") #define MSG_INFO_EXTRUDERS _UxGT("Extrusores")
@ -218,36 +207,38 @@
#define MSG_CASE_LIGHT _UxGT("Luz cabina") #define MSG_CASE_LIGHT _UxGT("Luz cabina")
#if LCD_WIDTH > 19 #if LCD_WIDTH > 19
#define MSG_INFO_PRINT_COUNT _UxGT("Conteo de impresion") #define MSG_INFO_PRINT_COUNT _UxGT("Conteo de impresión")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas")
#define MSG_INFO_PRINT_TIME _UxGT("Tiempo total de imp.") #define MSG_INFO_PRINT_TIME _UxGT("Tiempo total de imp.")
#define MSG_INFO_PRINT_LONGEST _UxGT("Impresion mas larga") #define MSG_INFO_PRINT_LONGEST _UxGT("Impresión más larga")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Total de Extrusion") #define MSG_INFO_PRINT_FILAMENT _UxGT("Total de Extrusión")
#else #else
#define MSG_INFO_PRINT_COUNT _UxGT("Impresiones") #define MSG_INFO_PRINT_COUNT _UxGT("Impresiones")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas")
#define MSG_INFO_PRINT_TIME _UxGT("Total") #define MSG_INFO_PRINT_TIME _UxGT("Total")
#define MSG_INFO_PRINT_LONGEST _UxGT("Mas larga") #define MSG_INFO_PRINT_LONGEST _UxGT("Más larga")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Extrusion") #define MSG_INFO_PRINT_FILAMENT _UxGT("Extrusión")
#endif #endif
#define MSG_INFO_MIN_TEMP _UxGT("Temperatura minima") #define MSG_INFO_MIN_TEMP _UxGT("Temperatura mínima")
#define MSG_INFO_MAX_TEMP _UxGT("Temperatura maxima") #define MSG_INFO_MAX_TEMP _UxGT("Temperatura máxima")
#define MSG_INFO_PSU _UxGT("Fuente de poder") #define MSG_INFO_PSU _UxGT("Fuente de poder")
#define MSG_DRIVE_STRENGTH _UxGT("Potencia driver") #define MSG_DRIVE_STRENGTH _UxGT("Potencia driver")
#define MSG_DAC_PERCENT _UxGT("Driver %") #define MSG_DAC_PERCENT _UxGT("Driver %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Escribe DAC EEPROM") #define MSG_DAC_EEPROM_WRITE _UxGT("Escribe DAC EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("IMPR. PAUSADA") #define MSG_FILAMENT_CHANGE_HEADER _UxGT("IMPR. PAUSADA")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("OPC. REINICIO:") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("OPC. REINICIO:")
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Extruir más")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resumir imp.") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resumir imp.")
#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Temp Mínima es ")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ") #define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ")
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando iniciar") #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando iniciar")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento") #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el boton") #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el botón")
#if LCD_HEIGHT >= 4 #if LCD_HEIGHT >= 4
// Up to 3 lines allowed // Up to 3 lines allowed
@ -264,11 +255,13 @@
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filamento expulsado") #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filamento expulsado")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado por") #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado por")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Cargar filamento") #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Cargar filamento")
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Esperado por")
#define MSG_FILAMENT_CHANGE_EXTRUDE_2 _UxGT("Extruir filamento")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir") #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima boton para") #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima botón para")
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Calentar la boquilla") #define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Calentar la boquilla")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando boquilla") #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando boquilla")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor") #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor")
#endif // LANGUAGE_ES_H #endif // LANGUAGE_ES_UTF_H

View file

@ -1,267 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Spanish
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_ES_UTF_H
#define LANGUAGE_ES_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" lista.")
#define MSG_BACK _UxGT("Atrás")
#define MSG_SD_INSERTED _UxGT("Tarjeta colocada")
#define MSG_SD_REMOVED _UxGT("Tarjeta retirada")
#define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters
#define MSG_MAIN _UxGT("Menú principal")
#define MSG_AUTOSTART _UxGT("Inicio automático")
#define MSG_DISABLE_STEPPERS _UxGT("Apagar motores")
#define MSG_DEBUG_MENU _UxGT("Menú depurar")
#define MSG_PROGRESS_BAR_TEST _UxGT("Prueba barra avance")
#define MSG_AUTO_HOME _UxGT("Llevar al origen")
#define MSG_AUTO_HOME_X _UxGT("Origen X")
#define MSG_AUTO_HOME_Y _UxGT("Origen Y")
#define MSG_AUTO_HOME_Z _UxGT("Origen Z")
#define MSG_LEVEL_BED_HOMING _UxGT("Origen XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Iniciar (Presione)")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Siguiente punto")
#define MSG_LEVEL_BED_DONE _UxGT("Nivelación lista!")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajustar desfases")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Desfase aplicado")
#define MSG_SET_ORIGIN _UxGT("Establecer origen")
#define MSG_PREHEAT_1 _UxGT("Precalentar PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" Todo")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" End")
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" Cama")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" Config")
#define MSG_PREHEAT_2 _UxGT("Precalentar ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" Todo")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" End")
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" Cama")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" Config")
#define MSG_COOLDOWN _UxGT("Enfriar")
#define MSG_SWITCH_PS_ON _UxGT("Encender")
#define MSG_SWITCH_PS_OFF _UxGT("Apagar")
#define MSG_EXTRUDE _UxGT("Extruir")
#define MSG_RETRACT _UxGT("Retraer")
#define MSG_MOVE_AXIS _UxGT("Mover ejes")
#define MSG_BED_LEVELING _UxGT("Nivelar cama")
#define MSG_LEVEL_BED _UxGT("Nivelar cama")
#define MSG_MOVING _UxGT("Moviendo...")
#define MSG_FREE_XY _UxGT("Libre XY")
#define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y")
#define MSG_MOVE_Z _UxGT("Mover Z")
#define MSG_MOVE_E _UxGT("Extrusor")
#define MSG_MOVE_01MM _UxGT("Mover 0.1mm")
#define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED _UxGT("Velocidad")
#define MSG_BED_Z _UxGT("Cama Z")
#define MSG_NOZZLE _UxGT("Boquilla")
#define MSG_BED _UxGT("Cama")
#define MSG_FAN_SPEED _UxGT("Ventilador")
#define MSG_FLOW _UxGT("Flujo")
#define MSG_CONTROL _UxGT("Control")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact")
#define MSG_AUTOTEMP _UxGT("Temperatura Auto.")
#define MSG_ON _UxGT("Encender")
#define MSG_OFF _UxGT("Apagar")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Seleccionar")
#define MSG_ACC _UxGT("Aceleración")
#define MSG_JERK _UxGT("Jerk")
#define MSG_VX_JERK _UxGT("Vx-jerk")
#define MSG_VY_JERK _UxGT("Vy-jerk")
#define MSG_VZ_JERK _UxGT("Vz-jerk")
#define MSG_VE_JERK _UxGT("Ve-jerk")
#define MSG_VMAX _UxGT("Vmax")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vel. viaje min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Acel. max")
#define MSG_A_RETRACT _UxGT("Acel. retrac.")
#define MSG_A_TRAVEL _UxGT("Acel. Viaje")
#define MSG_STEPS_PER_MM _UxGT("Pasos/mm")
#define MSG_XSTEPS _UxGT("X pasos/mm")
#define MSG_YSTEPS _UxGT("Y pasos/mm")
#define MSG_ZSTEPS _UxGT("Z pasos/mm")
#define MSG_ESTEPS _UxGT("E pasos/mm")
#define MSG_E1STEPS _UxGT("E1 pasos/mm")
#define MSG_E2STEPS _UxGT("E2 pasos/mm")
#define MSG_E3STEPS _UxGT("E3 pasos/mm")
#define MSG_E4STEPS _UxGT("E4 pasos/mm")
#define MSG_E5STEPS _UxGT("E5 pasos/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Movimiento")
#define MSG_FILAMENT _UxGT("Filamento")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E in mm3")
#define MSG_FILAMENT_DIAM _UxGT("Fil. Dia.")
#define MSG_ADVANCE_K _UxGT("Avance K")
#define MSG_CONTRAST _UxGT("Contraste")
#define MSG_STORE_EEPROM _UxGT("Guardar memoria")
#define MSG_LOAD_EEPROM _UxGT("Cargar memoria")
#define MSG_RESTORE_FAILSAFE _UxGT("Restaurar memoria")
#define MSG_REFRESH _UxGT("Volver a cargar")
#define MSG_WATCH _UxGT("Información")
#define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE _UxGT("Ajustar")
#define MSG_PAUSE_PRINT _UxGT("Pausar impresión")
#define MSG_RESUME_PRINT _UxGT("Reanudar impresión")
#define MSG_STOP_PRINT _UxGT("Detener impresión")
#define MSG_CARD_MENU _UxGT("Menú de SD")
#define MSG_NO_CARD _UxGT("No hay tarjeta SD")
#define MSG_DWELL _UxGT("Reposo...")
#define MSG_USERWAIT _UxGT("Esperando órdenes")
#define MSG_RESUMING _UxGT("Resumiendo impresión")
#define MSG_PRINT_ABORTED _UxGT("Impresión cancelada")
#define MSG_NO_MOVE _UxGT("Sin movimiento")
#define MSG_KILLED _UxGT("Parada de emergencia")
#define MSG_STOPPED _UxGT("Detenida")
#define MSG_CONTROL_RETRACT _UxGT("Retraer mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Interc. Retraer mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retraer V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Levantar mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Interc. DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("DesRet V")
#define MSG_AUTORETRACT _UxGT("Retracción Auto.")
#define MSG_FILAMENTCHANGE _UxGT("Cambiar filamento")
#define MSG_INIT_SDCARD _UxGT("Iniciando tarjeta")
#define MSG_CNG_SDCARD _UxGT("Cambiar tarjeta")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z fuera")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Auto-Prueba")
#define MSG_BLTOUCH_RESET _UxGT("Reiniciar BLTouch")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("primero")
#define MSG_ZPROBE_ZOFFSET _UxGT("Desfase Z")
#define MSG_BABYSTEP_X _UxGT("Micropaso X")
#define MSG_BABYSTEP_Y _UxGT("Micropaso Y")
#define MSG_BABYSTEP_Z _UxGT("Micropaso Z")
#define MSG_ENDSTOP_ABORT _UxGT("Cancelado - Endstop")
#define MSG_HEATING_FAILED_LCD _UxGT("Error: al calentar")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Error: temperatura")
#define MSG_THERMAL_RUNAWAY _UxGT("Error: temperatura")
#define MSG_ERR_MAXTEMP _UxGT("Error: Temp Máxima")
#define MSG_ERR_MINTEMP _UxGT("Error: Temp Mínima")
#define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max Cama")
#define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min Cama")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("IMPRESORA PARADA")
#define MSG_PLEASE_RESET _UxGT("Por favor, reinicie")
#define MSG_SHORT_DAY _UxGT("d") // One character only
#define MSG_SHORT_HOUR _UxGT("h") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("Calentando...")
#define MSG_HEATING_COMPLETE _UxGT("Calentamiento listo")
#define MSG_BED_HEATING _UxGT("Calentando Cama...")
#define MSG_BED_DONE _UxGT("Cama Caliente")
#define MSG_DELTA_CALIBRATE _UxGT("Calibración Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Auto Calibración")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Est. Altura Delta")
#define MSG_INFO_MENU _UxGT("Inf. Impresora")
#define MSG_INFO_PRINTER_MENU _UxGT("Inf. Impresora")
#define MSG_INFO_STATS_MENU _UxGT("Estadísticas Imp.")
#define MSG_INFO_BOARD_MENU _UxGT("Inf. Controlador")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Termistores")
#define MSG_INFO_EXTRUDERS _UxGT("Extrusores")
#define MSG_INFO_BAUDRATE _UxGT("Baudios")
#define MSG_INFO_PROTOCOL _UxGT("Protocolo")
#define MSG_CASE_LIGHT _UxGT("Luz cabina")
#if LCD_WIDTH > 19
#define MSG_INFO_PRINT_COUNT _UxGT("Conteo de impresión")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas")
#define MSG_INFO_PRINT_TIME _UxGT("Tiempo total de imp.")
#define MSG_INFO_PRINT_LONGEST _UxGT("Impresión más larga")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Total de Extrusión")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Impresiones")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Completadas")
#define MSG_INFO_PRINT_TIME _UxGT("Total")
#define MSG_INFO_PRINT_LONGEST _UxGT("Más larga")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Extrusión")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Temperatura mínima")
#define MSG_INFO_MAX_TEMP _UxGT("Temperatura máxima")
#define MSG_INFO_PSU _UxGT("Fuente de poder")
#define MSG_DRIVE_STRENGTH _UxGT("Potencia driver")
#define MSG_DAC_PERCENT _UxGT("Driver %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Escribe DAC EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER _UxGT("IMPR. PAUSADA")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("OPC. REINICIO:")
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Extruir más")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resumir imp.")
#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Temp Mínima es ")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ")
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando iniciar")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el botón")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("del filamento")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("cambiar")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("para continuar...")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("del fil. cambiar")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento")
#endif // LCD_HEIGHT < 4
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Esperado por")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filamento expulsado")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado por")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Cargar filamento")
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Esperado por")
#define MSG_FILAMENT_CHANGE_EXTRUDE_2 _UxGT("Extruir filamento")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima botón para")
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Calentar la boquilla")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Calentando boquilla")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor")
#endif // LANGUAGE_ES_UTF_H

View file

@ -27,20 +27,21 @@
* 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_NON #define MAPPER_C2C3
#define NOT_EXTENDED_ISO10646_1_5X7 #define DISPLAY_CHARSET_ISO10646_1
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" prete.") #define WELCOME_MSG MACHINE_NAME _UxGT(" prête.")
#define MSG_BACK _UxGT("Retour") #define MSG_BACK _UxGT("Retour")
#define MSG_SD_INSERTED _UxGT("Carte inseree") #define MSG_SD_INSERTED _UxGT("Carte insérée")
#define MSG_SD_REMOVED _UxGT("Carte retiree") #define MSG_SD_REMOVED _UxGT("Carte retirée")
#define MSG_LCD_ENDSTOPS _UxGT("Butees") // Max length 8 characters #define MSG_LCD_ENDSTOPS _UxGT("Butées") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu principal") #define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART _UxGT("Demarrage auto") #define MSG_AUTOSTART _UxGT("Demarrage auto")
#define MSG_DISABLE_STEPPERS _UxGT("Arreter moteurs") #define MSG_DISABLE_STEPPERS _UxGT("Arrêter moteurs")
#define MSG_DEBUG_MENU _UxGT("Menu debug") #define MSG_DEBUG_MENU _UxGT("Menu debug")
#define MSG_PROGRESS_BAR_TEST _UxGT("Test barre progress.") #define MSG_PROGRESS_BAR_TEST _UxGT("Test barre progress.")
#define MSG_AUTO_HOME _UxGT("Origine auto.") #define MSG_AUTO_HOME _UxGT("Origine auto.")
@ -50,60 +51,60 @@
#define MSG_LEVEL_BED_HOMING _UxGT("Origine XYZ") #define MSG_LEVEL_BED_HOMING _UxGT("Origine XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Clic pour commencer") #define MSG_LEVEL_BED_WAITING _UxGT("Clic pour commencer")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Point suivant") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Point suivant")
#define MSG_LEVEL_BED_DONE _UxGT("Mise a niveau OK!") #define MSG_LEVEL_BED_DONE _UxGT("Mise à niveau OK!")
#define MSG_Z_FADE_HEIGHT _UxGT("Hauteur lissee") #define MSG_Z_FADE_HEIGHT _UxGT("Hauteur lissée")
#define MSG_SET_HOME_OFFSETS _UxGT("Regl. decal. origine") #define MSG_SET_HOME_OFFSETS _UxGT("Régl. décal. origine")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Decalages appliques") #define MSG_HOME_OFFSETS_APPLIED _UxGT("Décalages appliqués")
#define MSG_SET_ORIGIN _UxGT("Regler origine") #define MSG_SET_ORIGIN _UxGT("Régler origine")
#define MSG_PREHEAT_1 _UxGT("Prechauffage PLA") #define MSG_PREHEAT_1 _UxGT("Préchauffage PLA")
#define MSG_PREHEAT_1_N _UxGT("Prechauff. PLA ") #define MSG_PREHEAT_1_N _UxGT("Préchauff. PLA ")
#define MSG_PREHEAT_1_ALL _UxGT("Prech. PLA Tout") #define MSG_PREHEAT_1_ALL _UxGT("Préch. PLA Tout")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" fini") #define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" fini")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Prech. PLA lit") #define MSG_PREHEAT_1_BEDONLY _UxGT("Préch. PLA lit")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Regl. prech. PLA") #define MSG_PREHEAT_1_SETTINGS _UxGT("Régl. prech. PLA")
#define MSG_PREHEAT_2 _UxGT("Prechauffage ABS") #define MSG_PREHEAT_2 _UxGT("Préchauffage ABS")
#define MSG_PREHEAT_2_N _UxGT("Prechauff. ABS ") #define MSG_PREHEAT_2_N _UxGT("Préchauff. ABS ")
#define MSG_PREHEAT_2_ALL _UxGT("Prech. ABS Tout") #define MSG_PREHEAT_2_ALL _UxGT("Préch. ABS Tout")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" fini") #define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" fini")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Prech. ABS lit") #define MSG_PREHEAT_2_BEDONLY _UxGT("Préch. ABS lit")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Regl. prech. ABS") #define MSG_PREHEAT_2_SETTINGS _UxGT("Régl. prech. ABS")
#define MSG_COOLDOWN _UxGT("Refroidir") #define MSG_COOLDOWN _UxGT("Refroidir")
#define MSG_SWITCH_PS_ON _UxGT("Allumer alim.") #define MSG_SWITCH_PS_ON _UxGT("Allumer alim.")
#define MSG_SWITCH_PS_OFF _UxGT("Eteindre alim.") #define MSG_SWITCH_PS_OFF _UxGT("Eteindre alim.")
#define MSG_EXTRUDE _UxGT("Extrusion") #define MSG_EXTRUDE _UxGT("Extrusion")
#define MSG_RETRACT _UxGT("Retrait") #define MSG_RETRACT _UxGT("Retrait")
#define MSG_MOVE_AXIS _UxGT("Deplacer un axe") #define MSG_MOVE_AXIS _UxGT("Déplacer un axe")
#define MSG_BED_LEVELING _UxGT("Regl. Niv. lit") #define MSG_BED_LEVELING _UxGT("Régl. Niv. lit")
#define MSG_LEVEL_BED _UxGT("Regl. Niv. lit") #define MSG_LEVEL_BED _UxGT("Régl. Niv. lit")
#define MSG_LEVEL_CORNERS _UxGT("Niveau coins") #define MSG_LEVEL_CORNERS _UxGT("Niveau coins")
#define MSG_NEXT_CORNER _UxGT("Coin suivant") #define MSG_NEXT_CORNER _UxGT("Coin suivant")
#define MSG_EDITING_STOPPED _UxGT("Arret edit. maillage") #define MSG_EDITING_STOPPED _UxGT("Arrêt édit. maillage")
#define MSG_USER_MENU _UxGT("Commandes perso") #define MSG_USER_MENU _UxGT("Commandes perso")
#define MSG_UBL_DOING_G29 _UxGT("G29 en cours") #define MSG_UBL_DOING_G29 _UxGT("G29 en cours")
#define MSG_UBL_UNHOMED _UxGT("Origine XYZ d'abord") #define MSG_UBL_UNHOMED _UxGT("Origine XYZ d'abord")
#define MSG_UBL_TOOLS _UxGT("Outils UBL") #define MSG_UBL_TOOLS _UxGT("Outils UBL")
#define MSG_UBL_LEVEL_BED _UxGT("Niveau lit unifie") #define MSG_UBL_LEVEL_BED _UxGT("Niveau lit unifié")
#define MSG_UBL_MANUAL_MESH _UxGT("Maillage manuel") #define MSG_UBL_MANUAL_MESH _UxGT("Maillage manuel")
#define MSG_UBL_BC_INSERT _UxGT("Poser cale & mesurer") #define MSG_UBL_BC_INSERT _UxGT("Poser câle & mesurer")
#define MSG_UBL_BC_INSERT2 _UxGT("Mesure") #define MSG_UBL_BC_INSERT2 _UxGT("Mesure")
#define MSG_UBL_BC_REMOVE _UxGT("Oter et mesurer lit") #define MSG_UBL_BC_REMOVE _UxGT("ôter et mesurer lit")
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Aller au suivant") #define MSG_UBL_MOVING_TO_NEXT _UxGT("Aller au suivant")
#define MSG_UBL_ACTIVATE_MESH _UxGT("Activer l'UBL") #define MSG_UBL_ACTIVATE_MESH _UxGT("Activer l'UBL")
#define MSG_UBL_DEACTIVATE_MESH _UxGT("Desactiver l'UBL") #define MSG_UBL_DEACTIVATE_MESH _UxGT("Désactiver l'UBL")
#define MSG_UBL_SET_BED_TEMP _UxGT("Temperature lit") #define MSG_UBL_SET_BED_TEMP _UxGT("Température lit")
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP #define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Temperature buse") #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Température buse")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP #define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
#define MSG_UBL_MESH_EDIT _UxGT("Editer maille") #define MSG_UBL_MESH_EDIT _UxGT("Editer maille")
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Editer maille perso") #define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Editer maille perso")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Reglage fin maille") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Réglage fin maille")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Terminer maille") #define MSG_UBL_DONE_EDITING_MESH _UxGT("Terminer maille")
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Creer maille perso") #define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Créer maille perso")
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Creer maille") #define MSG_UBL_BUILD_MESH_MENU _UxGT("Créer maille")
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Creer maille PLA") #define MSG_UBL_BUILD_PLA_MESH _UxGT("Créer maille PLA")
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Creer maille ABS") #define MSG_UBL_BUILD_ABS_MESH _UxGT("Créer maille ABS")
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Creer maille froide") #define MSG_UBL_BUILD_COLD_MESH _UxGT("Créer maille froide")
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Ajuster haut. maille") #define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Ajuster haut. maille")
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Hauteur") #define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Hauteur")
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Valider maille") #define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Valider maille")
@ -112,13 +113,13 @@
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Valider maille perso") #define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Valider maille perso")
#define MSG_UBL_CONTINUE_MESH _UxGT("Continuer maille") #define MSG_UBL_CONTINUE_MESH _UxGT("Continuer maille")
#define MSG_UBL_MESH_LEVELING _UxGT("Niveau par maille") #define MSG_UBL_MESH_LEVELING _UxGT("Niveau par maille")
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("Niveau a 3 points") #define MSG_UBL_3POINT_MESH_LEVELING _UxGT("Niveau à 3 points")
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Niveau grille") #define MSG_UBL_GRID_MESH_LEVELING _UxGT("Niveau grille")
#define MSG_UBL_MESH_LEVEL _UxGT("Maille de niveau") #define MSG_UBL_MESH_LEVEL _UxGT("Maille de niveau")
#define MSG_UBL_SIDE_POINTS _UxGT("Point lateral") #define MSG_UBL_SIDE_POINTS _UxGT("Point latéral")
#define MSG_UBL_MAP_TYPE _UxGT("Type de carte") #define MSG_UBL_MAP_TYPE _UxGT("Type de carte")
#define MSG_UBL_OUTPUT_MAP _UxGT("Voir maille") #define MSG_UBL_OUTPUT_MAP _UxGT("Voir maille")
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Voir pour hote") #define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Voir pour hôte")
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Voir pour CSV") #define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Voir pour CSV")
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Voir pour sauveg.") #define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Voir pour sauveg.")
#define MSG_UBL_INFO_UBL _UxGT("Voir info UBL") #define MSG_UBL_INFO_UBL _UxGT("Voir info UBL")
@ -128,25 +129,25 @@
#define MSG_UBL_SMART_FILLIN _UxGT("Remplissage auto") #define MSG_UBL_SMART_FILLIN _UxGT("Remplissage auto")
#define MSG_UBL_FILLIN_MESH _UxGT("Maille remplissage") #define MSG_UBL_FILLIN_MESH _UxGT("Maille remplissage")
#define MSG_UBL_INVALIDATE_ALL _UxGT("Tout annuler") #define MSG_UBL_INVALIDATE_ALL _UxGT("Tout annuler")
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Annuler le plus pres") #define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Annuler le plus près")
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Reglage fin (tous)") #define MSG_UBL_FINE_TUNE_ALL _UxGT("Réglage fin (tous)")
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Reglage fin (proche)") #define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Réglage fin (proche)")
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Stockage maille") #define MSG_UBL_STORAGE_MESH_MENU _UxGT("Stockage maille")
#define MSG_UBL_STORAGE_SLOT _UxGT("Slot memoire") #define MSG_UBL_STORAGE_SLOT _UxGT("Slot mémoire")
#define MSG_UBL_LOAD_MESH _UxGT("Charger maille") #define MSG_UBL_LOAD_MESH _UxGT("Charger maille")
#define MSG_UBL_SAVE_MESH _UxGT("Sauver maille") #define MSG_UBL_SAVE_MESH _UxGT("Sauver maille")
#define MSG_MESH_LOADED _UxGT("Maille %i charg.") #define MSG_MESH_LOADED _UxGT("Maille %i charg.")
#define MSG_MESH_SAVED _UxGT("Maille %i enreg.") #define MSG_MESH_SAVED _UxGT("Maille %i enreg.")
#define MSG_NO_STORAGE _UxGT("Pas de memoire") #define MSG_NO_STORAGE _UxGT("Pas de mémoire")
#define MSG_UBL_SAVE_ERROR _UxGT("Err: Enreg. UBL") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Enreg. UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Ouvrir UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Ouvrir UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Decal. Z arrete") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Décal. Z arrêté")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Pas a pas") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Pas à pas")
#define MSG_LED_CONTROL _UxGT("Controle LED") #define MSG_LED_CONTROL _UxGT("Contrôle LED")
#define MSG_LEDS_ON _UxGT("Lumiere ON") #define MSG_LEDS_ON _UxGT("Lumière ON")
#define MSG_LEDS_OFF _UxGT("Lumiere OFF") #define MSG_LEDS_OFF _UxGT("Lumière OFF")
#define MSG_LED_PRESETS _UxGT("Preregl. LED.") #define MSG_LED_PRESETS _UxGT("Préregl. LED")
#define MSG_SET_LEDS_RED _UxGT("Rouge") #define MSG_SET_LEDS_RED _UxGT("Rouge")
#define MSG_SET_LEDS_ORANGE _UxGT("Orange") #define MSG_SET_LEDS_ORANGE _UxGT("Orange")
#define MSG_SET_LEDS_YELLOW _UxGT("Jaune") #define MSG_SET_LEDS_YELLOW _UxGT("Jaune")
@ -157,21 +158,21 @@
#define MSG_SET_LEDS_WHITE _UxGT("Blanc") #define MSG_SET_LEDS_WHITE _UxGT("Blanc")
#define MSG_SET_LEDS_DEFAULT _UxGT("Defaut") #define MSG_SET_LEDS_DEFAULT _UxGT("Defaut")
#define MSG_CUSTOM_LEDS _UxGT("Lum. perso.") #define MSG_CUSTOM_LEDS _UxGT("Lum. perso.")
#define MSG_INTENSITY_R _UxGT("Intensite rouge") #define MSG_INTENSITY_R _UxGT("Intensité rouge")
#define MSG_INTENSITY_G _UxGT("Intensite vert") #define MSG_INTENSITY_G _UxGT("Intensité vert")
#define MSG_INTENSITY_B _UxGT("Intensite bleu") #define MSG_INTENSITY_B _UxGT("Intensité bleu")
#define MSG_INTENSITY_W _UxGT("Intensite blanc") #define MSG_INTENSITY_W _UxGT("Intensité blanc")
#define MSG_LED_BRIGHTNESS _UxGT("Luminosite") #define MSG_LED_BRIGHTNESS _UxGT("Luminosité")
#define MSG_MOVING _UxGT("Deplacement...") #define MSG_MOVING _UxGT("Déplacement...")
#define MSG_FREE_XY _UxGT("Debloquer XY") #define MSG_FREE_XY _UxGT("Débloquer XY")
#define MSG_MOVE_X _UxGT("Depl. X") #define MSG_MOVE_X _UxGT("Dépl. X")
#define MSG_MOVE_Y _UxGT("Depl. Y") #define MSG_MOVE_Y _UxGT("Dépl. Y")
#define MSG_MOVE_Z _UxGT("Depl. Z") #define MSG_MOVE_Z _UxGT("Dépl. Z")
#define MSG_MOVE_E _UxGT("Extrudeur") #define MSG_MOVE_E _UxGT("Extrudeur")
#define MSG_MOVE_01MM _UxGT("Depl. 0.1mm") #define MSG_MOVE_01MM _UxGT("Dépl. 0.1mm")
#define MSG_MOVE_1MM _UxGT("Depl. 1mm") #define MSG_MOVE_1MM _UxGT("Dépl. 1mm")
#define MSG_MOVE_10MM _UxGT("Depl. 10mm") #define MSG_MOVE_10MM _UxGT("Dépl. 10mm")
#define MSG_SPEED _UxGT("Vitesse") #define MSG_SPEED _UxGT("Vitesse")
#define MSG_BED_Z _UxGT("Lit Z") #define MSG_BED_Z _UxGT("Lit Z")
#define MSG_NOZZLE _UxGT("Buse") #define MSG_NOZZLE _UxGT("Buse")
@ -180,19 +181,19 @@
#define MSG_EXTRA_FAN_SPEED _UxGT("Extra V ventil.") #define MSG_EXTRA_FAN_SPEED _UxGT("Extra V ventil.")
#define MSG_FLOW _UxGT("Flux") #define MSG_FLOW _UxGT("Flux")
#define MSG_CONTROL _UxGT("Controler") #define MSG_CONTROL _UxGT("Contrôler")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min") #define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max") #define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Facteur") #define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Facteur")
#define MSG_AUTOTEMP _UxGT("Temp. Auto.") #define MSG_AUTOTEMP _UxGT("Temp. Auto.")
#define MSG_ON _UxGT("Marche") #define MSG_ON _UxGT("Marche ")
#define MSG_OFF _UxGT("Arret") #define MSG_OFF _UxGT("Arrêt")
#define MSG_PID_P _UxGT("PID-P") #define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I") #define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D") #define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C") #define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Selectionner") #define MSG_SELECT _UxGT("Sélectionner")
#define MSG_ACC _UxGT("Acceleration") #define MSG_ACC _UxGT("Accélération")
#define MSG_JERK _UxGT("Jerk") #define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Va jerk") #define MSG_VA_JERK _UxGT("Va jerk")
@ -204,14 +205,14 @@
#define MSG_VC_JERK _UxGT("Vz jerk") #define MSG_VC_JERK _UxGT("Vz jerk")
#endif #endif
#define MSG_VE_JERK _UxGT("Ve jerk") #define MSG_VE_JERK _UxGT("Ve jerk")
#define MSG_VELOCITY _UxGT("Velocite") #define MSG_VELOCITY _UxGT("Vélocité")
#define MSG_VMAX _UxGT("Vmax ") #define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin ") #define MSG_VMIN _UxGT("Vmin ")
#define MSG_VTRAV_MIN _UxGT("V depl. min") #define MSG_VTRAV_MIN _UxGT("V dépl. min")
#define MSG_ACCELERATION _UxGT("Acceleration") #define MSG_ACCELERATION _UxGT("Accélération")
#define MSG_AMAX _UxGT("Amax ") #define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("A retrait") #define MSG_A_RETRACT _UxGT("A retrait")
#define MSG_A_TRAVEL _UxGT("A Depl.") #define MSG_A_TRAVEL _UxGT("A pl.")
#define MSG_STEPS_PER_MM _UxGT("Pas/mm") #define MSG_STEPS_PER_MM _UxGT("Pas/mm")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("A pas/mm") #define MSG_ASTEPS _UxGT("A pas/mm")
@ -228,65 +229,65 @@
#define MSG_E3STEPS _UxGT("E3 pas/mm") #define MSG_E3STEPS _UxGT("E3 pas/mm")
#define MSG_E4STEPS _UxGT("E4 pas/mm") #define MSG_E4STEPS _UxGT("E4 pas/mm")
#define MSG_E5STEPS _UxGT("E5 pas/mm") #define MSG_E5STEPS _UxGT("E5 pas/mm")
#define MSG_TEMPERATURE _UxGT("Temperature") #define MSG_TEMPERATURE _UxGT("Température")
#define MSG_MOTION _UxGT("Mouvement") #define MSG_MOTION _UxGT("Mouvement")
#define MSG_FILAMENT _UxGT("Filament") #define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E en mm3") #define MSG_VOLUMETRIC_ENABLED _UxGT("E en mm3")
#define MSG_FILAMENT_DIAM _UxGT("Diam. Fil.") #define MSG_FILAMENT_DIAM _UxGT("Diam. Fil.")
#define MSG_FILAMENT_UNLOAD _UxGT("Decharger mm") #define MSG_FILAMENT_UNLOAD _UxGT("Décharger mm")
#define MSG_FILAMENT_LOAD _UxGT("Charger mm") #define MSG_FILAMENT_LOAD _UxGT("Charger mm")
#define MSG_ADVANCE_K _UxGT("Avance K") #define MSG_ADVANCE_K _UxGT("Avance K")
#define MSG_CONTRAST _UxGT("Contraste LCD") #define MSG_CONTRAST _UxGT("Contraste LCD")
#define MSG_STORE_EEPROM _UxGT("Sauver config") #define MSG_STORE_EEPROM _UxGT("Sauver config")
#define MSG_LOAD_EEPROM _UxGT("Lire config") #define MSG_LOAD_EEPROM _UxGT("Lire config")
#define MSG_RESTORE_FAILSAFE _UxGT("Restaurer defauts") #define MSG_RESTORE_FAILSAFE _UxGT("Restaurer défauts")
#define MSG_INIT_EEPROM _UxGT("Initialiser EEPROM") #define MSG_INIT_EEPROM _UxGT("Initialiser EEPROM")
#define MSG_REFRESH _UxGT("Actualiser") #define MSG_REFRESH _UxGT("Actualiser")
#define MSG_WATCH _UxGT("Surveiller") #define MSG_WATCH _UxGT("Surveiller")
#define MSG_PREPARE _UxGT("Preparer") #define MSG_PREPARE _UxGT("Préparer")
#define MSG_TUNE _UxGT("Regler") #define MSG_TUNE _UxGT("Régler")
#define MSG_PAUSE_PRINT _UxGT("Interrompre impr.") #define MSG_PAUSE_PRINT _UxGT("Interrompre impr.")
#define MSG_RESUME_PRINT _UxGT("Reprendre impr.") #define MSG_RESUME_PRINT _UxGT("Reprendre impr.")
#define MSG_STOP_PRINT _UxGT("Arreter impr.") #define MSG_STOP_PRINT _UxGT("Arrêter impr.")
#define MSG_CARD_MENU _UxGT("Impr. depuis SD") #define MSG_CARD_MENU _UxGT("Impr. depuis SD")
#define MSG_NO_CARD _UxGT("Pas de carte") #define MSG_NO_CARD _UxGT("Pas de carte")
#define MSG_DWELL _UxGT("Repos...") #define MSG_DWELL _UxGT("Repos...")
#define MSG_USERWAIT _UxGT("Atten. de l'util.") #define MSG_USERWAIT _UxGT("Atten. de l'util.")
#define MSG_PRINT_PAUSED _UxGT("Impr. en pause") #define MSG_PRINT_PAUSED _UxGT("Impr. en pause")
#define MSG_RESUMING _UxGT("Repri. de l'impr.") #define MSG_RESUMING _UxGT("Repri. de l'impr.")
#define MSG_PRINT_ABORTED _UxGT("Impr. Annulee") #define MSG_PRINT_ABORTED _UxGT("Impr. Annulée")
#define MSG_NO_MOVE _UxGT("Moteurs bloques.") #define MSG_NO_MOVE _UxGT("Moteurs bloqués.")
#define MSG_KILLED _UxGT("MORT.") #define MSG_KILLED _UxGT("MORT.")
#define MSG_STOPPED _UxGT("STOPPE.") #define MSG_STOPPED _UxGT("STOPPÉ.")
#define MSG_CONTROL_RETRACT _UxGT("Retrait mm") #define MSG_CONTROL_RETRACT _UxGT("Retrait mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Ech. Retr. mm") #define MSG_CONTROL_RETRACT_SWAP _UxGT("Ech. Retr. mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retrait V") #define MSG_CONTROL_RETRACTF _UxGT("Retrait V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Saut Z mm") #define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Saut Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Rappel mm") #define MSG_CONTROL_RETRACT_RECOVER _UxGT("Rappel mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Ech. Rapp. mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Ech. Rappel mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Rappel V") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Rappel V")
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("Ech. Rappel V") #define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("Ech. Rappel V")
#define MSG_AUTORETRACT _UxGT("Retrait. Auto.") #define MSG_AUTORETRACT _UxGT("Retrait. Auto.")
#define MSG_FILAMENTCHANGE _UxGT("Changer filament") #define MSG_FILAMENTCHANGE _UxGT("Changer filament")
#define MSG_FILAMENTLOAD _UxGT("Charger fil.") #define MSG_FILAMENTLOAD _UxGT("Charger fil.")
#define MSG_FILAMENTUNLOAD _UxGT("Decharger fil.") #define MSG_FILAMENTUNLOAD _UxGT("Décharger fil.")
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Decharger tout") #define MSG_FILAMENTUNLOAD_ALL _UxGT("Décharger tout")
#define MSG_INIT_SDCARD _UxGT("Init. la carte SD") #define MSG_INIT_SDCARD _UxGT("Init. la carte SD")
#define MSG_CNG_SDCARD _UxGT("Changer de carte") #define MSG_CNG_SDCARD _UxGT("Changer de carte")
#define MSG_ZPROBE_OUT _UxGT("Z sonde hors lit") #define MSG_ZPROBE_OUT _UxGT("Z sonde hors lit")
#define MSG_SKEW_FACTOR _UxGT("Facteur ecart") #define MSG_SKEW_FACTOR _UxGT("Facteur écart")
#define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("Autotest BLTouch") #define MSG_BLTOUCH_SELFTEST _UxGT("Autotest BLTouch")
#define MSG_BLTOUCH_RESET _UxGT("RaZ BLTouch") #define MSG_BLTOUCH_RESET _UxGT("RaZ BLTouch")
#define MSG_BLTOUCH_DEPLOY _UxGT("Deployer BLTouch") #define MSG_BLTOUCH_DEPLOY _UxGT("Déployer BLTouch")
#define MSG_BLTOUCH_STOW _UxGT("Ranger BLTouch") #define MSG_BLTOUCH_STOW _UxGT("Ranger BLTouch")
#define MSG_HOME _UxGT("Origine") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_HOME _UxGT("Origine") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("Premier") #define MSG_FIRST _UxGT("Premier")
#define MSG_ZPROBE_ZOFFSET _UxGT("Decalage Z") #define MSG_ZPROBE_ZOFFSET _UxGT("Décalage Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y") #define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z") #define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Butee abandon") #define MSG_ENDSTOP_ABORT _UxGT("Butée abandon")
#define MSG_HEATING_FAILED_LCD _UxGT("Erreur de chauffe") #define MSG_HEATING_FAILED_LCD _UxGT("Erreur de chauffe")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: TEMP. REDONDANTE") #define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: TEMP. REDONDANTE")
#define MSG_THERMAL_RUNAWAY _UxGT("EMBALLEMENT THERM.") #define MSG_THERMAL_RUNAWAY _UxGT("EMBALLEMENT THERM.")
@ -296,22 +297,22 @@
#define MSG_ERR_MINTEMP_BED _UxGT("Err: TEMP. MIN LIT") #define MSG_ERR_MINTEMP_BED _UxGT("Err: TEMP. MIN LIT")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST #define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("IMPR. STOPPEE") #define MSG_HALTED _UxGT("IMPR. STOPPÉE")
#define MSG_PLEASE_RESET _UxGT("RaZ. SVP") #define MSG_PLEASE_RESET _UxGT("RàZ. SVP")
#define MSG_SHORT_DAY _UxGT("j") // One character only #define MSG_SHORT_DAY _UxGT("j") // One character only
#define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_HOUR _UxGT("h") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("En chauffe...") #define MSG_HEATING _UxGT("En chauffe...")
#define MSG_HEATING_COMPLETE _UxGT("Chauffe terminee") #define MSG_HEATING_COMPLETE _UxGT("Chauffe terminée")
#define MSG_BED_HEATING _UxGT("Lit en chauffe..") #define MSG_BED_HEATING _UxGT("Lit en chauffe...")
#define MSG_BED_DONE _UxGT("Chauffe lit terminee") #define MSG_BED_DONE _UxGT("Chauffe lit terminée")
#define MSG_DELTA_CALIBRATE _UxGT("Calibration Delta") #define MSG_DELTA_CALIBRATE _UxGT("Calibration Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrer X") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrer X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrer Y") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrer Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrer Z") #define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrer Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrer centre") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrer centre")
#define MSG_DELTA_SETTINGS _UxGT("Reglages Delta") #define MSG_DELTA_SETTINGS _UxGT("Réglages Delta")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Calibration Auto") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Calibration Auto")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Hauteur Delta") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Hauteur Delta")
#define MSG_DELTA_DIAG_ROD _UxGT("Diagonale") #define MSG_DELTA_DIAG_ROD _UxGT("Diagonale")
@ -320,10 +321,10 @@
#define MSG_INFO_MENU _UxGT("Infos imprimante") #define MSG_INFO_MENU _UxGT("Infos imprimante")
#define MSG_INFO_PRINTER_MENU _UxGT("Infos imprimante") #define MSG_INFO_PRINTER_MENU _UxGT("Infos imprimante")
#define MSG_3POINT_LEVELING _UxGT("Niveau a 3 points") #define MSG_3POINT_LEVELING _UxGT("Niveau à 3 points")
#define MSG_LINEAR_LEVELING _UxGT("Niveau lineaire") #define MSG_LINEAR_LEVELING _UxGT("Niveau linéaire")
#define MSG_BILINEAR_LEVELING _UxGT("Niveau bilineaire") #define MSG_BILINEAR_LEVELING _UxGT("Niveau bilinéaire")
#define MSG_UBL_LEVELING _UxGT("Niveau lit unifie") #define MSG_UBL_LEVELING _UxGT("Niveau lit unifié")
#define MSG_MESH_LEVELING _UxGT("Niveau maillage") #define MSG_MESH_LEVELING _UxGT("Niveau maillage")
#define MSG_INFO_STATS_MENU _UxGT("Stats. imprimante") #define MSG_INFO_STATS_MENU _UxGT("Stats. imprimante")
#define MSG_INFO_BOARD_MENU _UxGT("Infos carte") #define MSG_INFO_BOARD_MENU _UxGT("Infos carte")
@ -331,18 +332,18 @@
#define MSG_INFO_EXTRUDERS _UxGT("Extrudeurs") #define MSG_INFO_EXTRUDERS _UxGT("Extrudeurs")
#define MSG_INFO_BAUDRATE _UxGT("Baud") #define MSG_INFO_BAUDRATE _UxGT("Baud")
#define MSG_INFO_PROTOCOL _UxGT("Protocole") #define MSG_INFO_PROTOCOL _UxGT("Protocole")
#define MSG_CASE_LIGHT _UxGT("Lumiere caisson") #define MSG_CASE_LIGHT _UxGT("Lumière caisson")
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Luminosite") #define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Luminosité")
#if LCD_WIDTH >= 20 #if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Nbre impressions") #define MSG_INFO_PRINT_COUNT _UxGT("Nbre impressions")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminees") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminées")
#define MSG_INFO_PRINT_TIME _UxGT("Tps impr. total") #define MSG_INFO_PRINT_TIME _UxGT("Tps impr. total")
#define MSG_INFO_PRINT_LONGEST _UxGT("Impr. la + longue") #define MSG_INFO_PRINT_LONGEST _UxGT("Impr. la + longue")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Total filament") #define MSG_INFO_PRINT_FILAMENT _UxGT("Total filament")
#else #else
#define MSG_INFO_PRINT_COUNT _UxGT("Impressions") #define MSG_INFO_PRINT_COUNT _UxGT("Impressions")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminees") #define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminées")
#define MSG_INFO_PRINT_TIME _UxGT("Total") #define MSG_INFO_PRINT_TIME _UxGT("Total")
#define MSG_INFO_PRINT_LONGEST _UxGT("+ long") #define MSG_INFO_PRINT_LONGEST _UxGT("+ long")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Filament") #define MSG_INFO_PRINT_FILAMENT _UxGT("Filament")
@ -368,12 +369,12 @@
#if LCD_HEIGHT >= 4 #if LCD_HEIGHT >= 4
// Up to 3 lines allowed // Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Attente Demarrage") #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Attente Démarrage")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("du filament") #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("du filament")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("changer") #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("changer")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Attente de") #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Attente de")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("decharger filament") #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("décharger filament")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserer filament") #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insérer filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("et app. bouton") #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("et app. bouton")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("pour continuer...") #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("pour continuer...")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Presser le bouton...") #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Presser le bouton...")
@ -381,7 +382,7 @@
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Buse en chauffe") #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Buse en chauffe")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Patientez SVP...") #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Patientez SVP...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Attente de") #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Attente de")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("chargement filament") #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Chargement filament")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Attente") #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Attente")
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("Purger filament") #define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("Purger filament")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Attente impression") #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Attente impression")
@ -390,9 +391,9 @@
// Up to 2 lines allowed // Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Patientez...") #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Patientez...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejection...") #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejection...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserer et clic") #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insérer et clic")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Chargement...") #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Chargement...")
#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

@ -1,399 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* French
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_FR_UTF_H
#define LANGUAGE_FR_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" prête.")
#define MSG_BACK _UxGT("Retour")
#define MSG_SD_INSERTED _UxGT("Carte insérée")
#define MSG_SD_REMOVED _UxGT("Carte retirée")
#define MSG_LCD_ENDSTOPS _UxGT("Butées") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART _UxGT("Demarrage auto")
#define MSG_DISABLE_STEPPERS _UxGT("Arrêter moteurs")
#define MSG_DEBUG_MENU _UxGT("Menu debug")
#define MSG_PROGRESS_BAR_TEST _UxGT("Test barre progress.")
#define MSG_AUTO_HOME _UxGT("Origine auto.")
#define MSG_AUTO_HOME_X _UxGT("Origine X Auto.")
#define MSG_AUTO_HOME_Y _UxGT("Origine Y Auto.")
#define MSG_AUTO_HOME_Z _UxGT("Origine Z Auto.")
#define MSG_LEVEL_BED_HOMING _UxGT("Origine XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Clic pour commencer")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Point suivant")
#define MSG_LEVEL_BED_DONE _UxGT("Mise à niveau OK!")
#define MSG_Z_FADE_HEIGHT _UxGT("Hauteur lissée")
#define MSG_SET_HOME_OFFSETS _UxGT("Régl. décal. origine")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Décalages appliqués")
#define MSG_SET_ORIGIN _UxGT("Régler origine")
#define MSG_PREHEAT_1 _UxGT("Préchauffage PLA")
#define MSG_PREHEAT_1_N _UxGT("Préchauff. PLA ")
#define MSG_PREHEAT_1_ALL _UxGT("Préch. PLA Tout")
#define MSG_PREHEAT_1_END MSG_PREHEAT_1 _UxGT(" fini")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Préch. PLA lit")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Régl. prech. PLA")
#define MSG_PREHEAT_2 _UxGT("Préchauffage ABS")
#define MSG_PREHEAT_2_N _UxGT("Préchauff. ABS ")
#define MSG_PREHEAT_2_ALL _UxGT("Préch. ABS Tout")
#define MSG_PREHEAT_2_END MSG_PREHEAT_2 _UxGT(" fini")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Préch. ABS lit")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Régl. prech. ABS")
#define MSG_COOLDOWN _UxGT("Refroidir")
#define MSG_SWITCH_PS_ON _UxGT("Allumer alim.")
#define MSG_SWITCH_PS_OFF _UxGT("Eteindre alim.")
#define MSG_EXTRUDE _UxGT("Extrusion")
#define MSG_RETRACT _UxGT("Retrait")
#define MSG_MOVE_AXIS _UxGT("Déplacer un axe")
#define MSG_BED_LEVELING _UxGT("Régl. Niv. lit")
#define MSG_LEVEL_BED _UxGT("Régl. Niv. lit")
#define MSG_LEVEL_CORNERS _UxGT("Niveau coins")
#define MSG_NEXT_CORNER _UxGT("Coin suivant")
#define MSG_EDITING_STOPPED _UxGT("Arrêt édit. maillage")
#define MSG_USER_MENU _UxGT("Commandes perso")
#define MSG_UBL_DOING_G29 _UxGT("G29 en cours")
#define MSG_UBL_UNHOMED _UxGT("Origine XYZ d'abord")
#define MSG_UBL_TOOLS _UxGT("Outils UBL")
#define MSG_UBL_LEVEL_BED _UxGT("Niveau lit unifié")
#define MSG_UBL_MANUAL_MESH _UxGT("Maillage manuel")
#define MSG_UBL_BC_INSERT _UxGT("Poser câle & mesurer")
#define MSG_UBL_BC_INSERT2 _UxGT("Mesure")
#define MSG_UBL_BC_REMOVE _UxGT("ôter et mesurer lit")
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Aller au suivant")
#define MSG_UBL_ACTIVATE_MESH _UxGT("Activer l'UBL")
#define MSG_UBL_DEACTIVATE_MESH _UxGT("Désactiver l'UBL")
#define MSG_UBL_SET_BED_TEMP _UxGT("Température lit")
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Température buse")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
#define MSG_UBL_MESH_EDIT _UxGT("Editer maille")
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Editer maille perso")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Réglage fin maille")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Terminer maille")
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Créer maille perso")
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Créer maille")
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Créer maille PLA")
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Créer maille ABS")
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Créer maille froide")
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Ajuster haut. maille")
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Hauteur")
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Valider maille")
#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Valider maille PLA")
#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Valider maille ABS")
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Valider maille perso")
#define MSG_UBL_CONTINUE_MESH _UxGT("Continuer maille")
#define MSG_UBL_MESH_LEVELING _UxGT("Niveau par maille")
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("Niveau à 3 points")
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Niveau grille")
#define MSG_UBL_MESH_LEVEL _UxGT("Maille de niveau")
#define MSG_UBL_SIDE_POINTS _UxGT("Point latéral")
#define MSG_UBL_MAP_TYPE _UxGT("Type de carte")
#define MSG_UBL_OUTPUT_MAP _UxGT("Voir maille")
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Voir pour hôte")
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Voir pour CSV")
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Voir pour sauveg.")
#define MSG_UBL_INFO_UBL _UxGT("Voir info UBL")
#define MSG_UBL_EDIT_MESH_MENU _UxGT("Modifier maille")
#define MSG_UBL_FILLIN_AMOUNT _UxGT("Taux de remplissage")
#define MSG_UBL_MANUAL_FILLIN _UxGT("Remplissage manuel")
#define MSG_UBL_SMART_FILLIN _UxGT("Remplissage auto")
#define MSG_UBL_FILLIN_MESH _UxGT("Maille remplissage")
#define MSG_UBL_INVALIDATE_ALL _UxGT("Tout annuler")
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Annuler le plus près")
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Réglage fin (tous)")
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Réglage fin (proche)")
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Stockage maille")
#define MSG_UBL_STORAGE_SLOT _UxGT("Slot mémoire")
#define MSG_UBL_LOAD_MESH _UxGT("Charger maille")
#define MSG_UBL_SAVE_MESH _UxGT("Sauver maille")
#define MSG_MESH_LOADED _UxGT("Maille %i charg.")
#define MSG_MESH_SAVED _UxGT("Maille %i enreg.")
#define MSG_NO_STORAGE _UxGT("Pas de mémoire")
#define MSG_UBL_SAVE_ERROR _UxGT("Err: Enreg. UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Ouvrir UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Décal. Z arrêté")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Pas à pas")
#define MSG_LED_CONTROL _UxGT("Contrôle LED")
#define MSG_LEDS_ON _UxGT("Lumière ON")
#define MSG_LEDS_OFF _UxGT("Lumière OFF")
#define MSG_LED_PRESETS _UxGT("Préregl. LED")
#define MSG_SET_LEDS_RED _UxGT("Rouge")
#define MSG_SET_LEDS_ORANGE _UxGT("Orange")
#define MSG_SET_LEDS_YELLOW _UxGT("Jaune")
#define MSG_SET_LEDS_GREEN _UxGT("Vert")
#define MSG_SET_LEDS_BLUE _UxGT("Bleu")
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
#define MSG_SET_LEDS_VIOLET _UxGT("Violet")
#define MSG_SET_LEDS_WHITE _UxGT("Blanc")
#define MSG_SET_LEDS_DEFAULT _UxGT("Defaut")
#define MSG_CUSTOM_LEDS _UxGT("Lum. perso.")
#define MSG_INTENSITY_R _UxGT("Intensité rouge")
#define MSG_INTENSITY_G _UxGT("Intensité vert")
#define MSG_INTENSITY_B _UxGT("Intensité bleu")
#define MSG_INTENSITY_W _UxGT("Intensité blanc")
#define MSG_LED_BRIGHTNESS _UxGT("Luminosité")
#define MSG_MOVING _UxGT("Déplacement...")
#define MSG_FREE_XY _UxGT("Débloquer XY")
#define MSG_MOVE_X _UxGT("Dépl. X")
#define MSG_MOVE_Y _UxGT("Dépl. Y")
#define MSG_MOVE_Z _UxGT("Dépl. Z")
#define MSG_MOVE_E _UxGT("Extrudeur")
#define MSG_MOVE_01MM _UxGT("Dépl. 0.1mm")
#define MSG_MOVE_1MM _UxGT("Dépl. 1mm")
#define MSG_MOVE_10MM _UxGT("Dépl. 10mm")
#define MSG_SPEED _UxGT("Vitesse")
#define MSG_BED_Z _UxGT("Lit Z")
#define MSG_NOZZLE _UxGT("Buse")
#define MSG_BED _UxGT("Lit")
#define MSG_FAN_SPEED _UxGT("Vitesse ventil.")
#define MSG_EXTRA_FAN_SPEED _UxGT("Extra V ventil.")
#define MSG_FLOW _UxGT("Flux")
#define MSG_CONTROL _UxGT("Contrôler")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Facteur")
#define MSG_AUTOTEMP _UxGT("Temp. Auto.")
#define MSG_ON _UxGT("Marche ")
#define MSG_OFF _UxGT("Arrêt")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Sélectionner")
#define MSG_ACC _UxGT("Accélération")
#define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Va jerk")
#define MSG_VB_JERK _UxGT("Vb jerk")
#define MSG_VC_JERK _UxGT("Vc jerk")
#else
#define MSG_VA_JERK _UxGT("Vx jerk")
#define MSG_VB_JERK _UxGT("Vy jerk")
#define MSG_VC_JERK _UxGT("Vz jerk")
#endif
#define MSG_VE_JERK _UxGT("Ve jerk")
#define MSG_VELOCITY _UxGT("Vélocité")
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin ")
#define MSG_VTRAV_MIN _UxGT("V dépl. min")
#define MSG_ACCELERATION _UxGT("Accélération")
#define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("A retrait")
#define MSG_A_TRAVEL _UxGT("A dépl.")
#define MSG_STEPS_PER_MM _UxGT("Pas/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("A pas/mm")
#define MSG_BSTEPS _UxGT("B pas/mm")
#define MSG_CSTEPS _UxGT("C pas/mm")
#else
#define MSG_ASTEPS _UxGT("X pas/mm")
#define MSG_BSTEPS _UxGT("Y pas/mm")
#define MSG_CSTEPS _UxGT("Z pas/mm")
#endif
#define MSG_ESTEPS _UxGT("E pas/mm")
#define MSG_E1STEPS _UxGT("E1 pas/mm")
#define MSG_E2STEPS _UxGT("E2 pas/mm")
#define MSG_E3STEPS _UxGT("E3 pas/mm")
#define MSG_E4STEPS _UxGT("E4 pas/mm")
#define MSG_E5STEPS _UxGT("E5 pas/mm")
#define MSG_TEMPERATURE _UxGT("Température")
#define MSG_MOTION _UxGT("Mouvement")
#define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E en mm3")
#define MSG_FILAMENT_DIAM _UxGT("Diam. Fil.")
#define MSG_FILAMENT_UNLOAD _UxGT("Décharger mm")
#define MSG_FILAMENT_LOAD _UxGT("Charger mm")
#define MSG_ADVANCE_K _UxGT("Avance K")
#define MSG_CONTRAST _UxGT("Contraste LCD")
#define MSG_STORE_EEPROM _UxGT("Sauver config")
#define MSG_LOAD_EEPROM _UxGT("Lire config")
#define MSG_RESTORE_FAILSAFE _UxGT("Restaurer défauts")
#define MSG_INIT_EEPROM _UxGT("Initialiser EEPROM")
#define MSG_REFRESH _UxGT("Actualiser")
#define MSG_WATCH _UxGT("Surveiller")
#define MSG_PREPARE _UxGT("Préparer")
#define MSG_TUNE _UxGT("Régler")
#define MSG_PAUSE_PRINT _UxGT("Interrompre impr.")
#define MSG_RESUME_PRINT _UxGT("Reprendre impr.")
#define MSG_STOP_PRINT _UxGT("Arrêter impr.")
#define MSG_CARD_MENU _UxGT("Impr. depuis SD")
#define MSG_NO_CARD _UxGT("Pas de carte")
#define MSG_DWELL _UxGT("Repos...")
#define MSG_USERWAIT _UxGT("Atten. de l'util.")
#define MSG_PRINT_PAUSED _UxGT("Impr. en pause")
#define MSG_RESUMING _UxGT("Repri. de l'impr.")
#define MSG_PRINT_ABORTED _UxGT("Impr. Annulée")
#define MSG_NO_MOVE _UxGT("Moteurs bloqués.")
#define MSG_KILLED _UxGT("MORT.")
#define MSG_STOPPED _UxGT("STOPPÉ.")
#define MSG_CONTROL_RETRACT _UxGT("Retrait mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Ech. Retr. mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retrait V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Saut Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Rappel mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Ech. Rappel mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Rappel V")
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("Ech. Rappel V")
#define MSG_AUTORETRACT _UxGT("Retrait. Auto.")
#define MSG_FILAMENTCHANGE _UxGT("Changer filament")
#define MSG_FILAMENTLOAD _UxGT("Charger fil.")
#define MSG_FILAMENTUNLOAD _UxGT("Décharger fil.")
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Décharger tout")
#define MSG_INIT_SDCARD _UxGT("Init. la carte SD")
#define MSG_CNG_SDCARD _UxGT("Changer de carte")
#define MSG_ZPROBE_OUT _UxGT("Z sonde hors lit")
#define MSG_SKEW_FACTOR _UxGT("Facteur écart")
#define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("Autotest BLTouch")
#define MSG_BLTOUCH_RESET _UxGT("RaZ BLTouch")
#define MSG_BLTOUCH_DEPLOY _UxGT("Déployer BLTouch")
#define MSG_BLTOUCH_STOW _UxGT("Ranger BLTouch")
#define MSG_HOME _UxGT("Origine") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("Premier")
#define MSG_ZPROBE_ZOFFSET _UxGT("Décalage Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Butée abandon")
#define MSG_HEATING_FAILED_LCD _UxGT("Erreur de chauffe")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: TEMP. REDONDANTE")
#define MSG_THERMAL_RUNAWAY _UxGT("EMBALLEMENT THERM.")
#define MSG_ERR_MAXTEMP _UxGT("Err: TEMP. MAX")
#define MSG_ERR_MINTEMP _UxGT("Err: TEMP. MIN")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err: TEMP. MAX LIT")
#define MSG_ERR_MINTEMP_BED _UxGT("Err: TEMP. MIN LIT")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("IMPR. STOPPÉE")
#define MSG_PLEASE_RESET _UxGT("RàZ. SVP")
#define MSG_SHORT_DAY _UxGT("j") // One character only
#define MSG_SHORT_HOUR _UxGT("h") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("En chauffe...")
#define MSG_HEATING_COMPLETE _UxGT("Chauffe terminée")
#define MSG_BED_HEATING _UxGT("Lit en chauffe...")
#define MSG_BED_DONE _UxGT("Chauffe lit terminée")
#define MSG_DELTA_CALIBRATE _UxGT("Calibration Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrer X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrer Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrer Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrer centre")
#define MSG_DELTA_SETTINGS _UxGT("Réglages Delta")
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Calibration Auto")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Hauteur Delta")
#define MSG_DELTA_DIAG_ROD _UxGT("Diagonale")
#define MSG_DELTA_HEIGHT _UxGT("Hauteur")
#define MSG_DELTA_RADIUS _UxGT("Rayon")
#define MSG_INFO_MENU _UxGT("Infos imprimante")
#define MSG_INFO_PRINTER_MENU _UxGT("Infos imprimante")
#define MSG_3POINT_LEVELING _UxGT("Niveau à 3 points")
#define MSG_LINEAR_LEVELING _UxGT("Niveau linéaire")
#define MSG_BILINEAR_LEVELING _UxGT("Niveau bilinéaire")
#define MSG_UBL_LEVELING _UxGT("Niveau lit unifié")
#define MSG_MESH_LEVELING _UxGT("Niveau maillage")
#define MSG_INFO_STATS_MENU _UxGT("Stats. imprimante")
#define MSG_INFO_BOARD_MENU _UxGT("Infos carte")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistors")
#define MSG_INFO_EXTRUDERS _UxGT("Extrudeurs")
#define MSG_INFO_BAUDRATE _UxGT("Baud")
#define MSG_INFO_PROTOCOL _UxGT("Protocole")
#define MSG_CASE_LIGHT _UxGT("Lumière caisson")
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Luminosité")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Nbre impressions")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminées")
#define MSG_INFO_PRINT_TIME _UxGT("Tps impr. total")
#define MSG_INFO_PRINT_LONGEST _UxGT("Impr. la + longue")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Total filament")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Impressions")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Terminées")
#define MSG_INFO_PRINT_TIME _UxGT("Total")
#define MSG_INFO_PRINT_LONGEST _UxGT("+ long")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Filament")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Temp Min")
#define MSG_INFO_MAX_TEMP _UxGT("Temp Max")
#define MSG_INFO_PSU _UxGT("Alimentation")
#define MSG_DRIVE_STRENGTH _UxGT("Puiss. moteur ")
#define MSG_DAC_PERCENT _UxGT("Driver %")
#define MSG_DAC_EEPROM_WRITE _UxGT("DAC EEPROM sauv.")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("IMPR. PAUSE")
#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("CHARGER FIL")
#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("DECHARGER FIL")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("OPTIONS REPRISE:")
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Purger encore")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Reprendre impr.")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Buse: ")
#define MSG_ERR_HOMING_FAILED _UxGT("Echec origine")
#define MSG_ERR_PROBING_FAILED _UxGT("Echec sonde")
#define MSG_M600_TOO_COLD _UxGT("M600: Trop froid")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Attente Démarrage")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("du filament")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("changer")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Attente de")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("décharger filament")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insérer filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("et app. bouton")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("pour continuer...")
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Presser le bouton...")
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Pr chauffer la buse")
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Buse en chauffe")
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Patientez SVP...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Attente de")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Chargement filament")
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Attente")
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("Purger filament")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Attente impression")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("pour reprendre")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Patientez...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejection...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insérer et clic")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Chargement...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Reprise...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_FR_UTF_H

View file

@ -1,342 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Japanese (Kana)
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_KANA_H
#define LANGUAGE_KANA_H
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
#define SIMULATE_ROMFONT
#define DISPLAY_CHARSET_ISO10646_KANA
#define CHARSIZE 2
// 片仮名表示定義
#define WELCOME_MSG MACHINE_NAME " ready."
#define MSG_SD_INSERTED "\xb6\xb0\xc4\xde\xb6\xde\xbf\xb3\xc6\xad\xb3\xbb\xda\xcf\xbc\xc0" // "カードガソウニュウサレマシタ" ("Card inserted")
#define MSG_SD_REMOVED "\xb6\xb0\xc4\xde\xb6\xde\xb1\xd8\xcf\xbe\xdd" // "カードガアリマセン" ("Card removed")
#define MSG_LCD_ENDSTOPS "Endstops" // Max length 8 characters
#define MSG_MAIN "\xd2\xb2\xdd" // "メイン" ("Main")
#define MSG_AUTOSTART "\xbc\xde\xc4\xde\xb3\xb6\xb2\xbc" // "ジドウカイシ" ("Autostart")
#define MSG_DISABLE_STEPPERS "\xd3\xb0\xc0\xb0\xc3\xde\xdd\xb9\xde\xdd\x20\xb5\xcc" // "モーターデンゲン オフ" ("Disable steppers")
#define MSG_DEBUG_MENU "\xc3\xde\xca\xde\xaf\xb8\xde\xd2\xc6\xad\xb0" // "デバッグメニュー" ("Debug Menu")
#define MSG_PROGRESS_BAR_TEST "\xcc\xdf\xdb\xb8\xde\xda\xbd\xca\xde\xb0\x20\xc3\xbd\xc4" // "プログレスバー テスト" ("Progress Bar Test")
#define MSG_AUTO_HOME "\xb9\xde\xdd\xc3\xdd\xcc\xaf\xb7" // "ゲンテンフッキ" ("Auto home")
#define MSG_AUTO_HOME_X "X\xbc\xde\xb8\x20\xb9\xde\xdd\xc3\xdd\xcc\xaf\xb7" // "Xジク ゲンテンフッキ" ("Home X")
#define MSG_AUTO_HOME_Y "Y\xbc\xde\xb8\x20\xb9\xde\xdd\xc3\xdd\xcc\xaf\xb7" // "Yジク ゲンテンフッキ" ("Home Y")
#define MSG_AUTO_HOME_Z "Z\xbc\xde\xb8\x20\xb9\xde\xdd\xc3\xdd\xcc\xaf\xb7" // "Zジク ゲンテンフッキ" ("Home Z")
#define MSG_LEVEL_BED_HOMING "\xb9\xde\xdd\xc3\xdd\xcc\xaf\xb7\xc1\xad\xb3" // "ゲンテンフッキチュウ" ("Homing XYZ")
#define MSG_LEVEL_BED_WAITING "\xda\xcd\xde\xd8\xdd\xb8\xde\xb6\xb2\xbc" // "レベリングカイシ" ("Click to Begin")
#define MSG_LEVEL_BED_NEXT_POINT "\xc2\xb7\xde\xc9\xbf\xb8\xc3\xb2\xc3\xdd\xcd" // "ツギノソクテイテンヘ" ("Next Point")
#define MSG_LEVEL_BED_DONE "\xda\xcd\xde\xd8\xdd\xb8\xde\xb6\xdd\xd8\xae\xb3" // "レベリングカンリョウ" ("Leveling Done!")
#define MSG_SET_HOME_OFFSETS "\xb7\xbc\xde\xad\xdd\xb5\xcc\xbe\xaf\xc4\xbe\xaf\xc3\xb2" // "キジュンオフセットセッテイ" ("Set home offsets")
#define MSG_HOME_OFFSETS_APPLIED "\xb5\xcc\xbe\xaf\xc4\xb6\xde\xc3\xb7\xd6\xb3\xbb\xda\xcf\xbc\xc0" // "オフセットガテキヨウサレマシタ" ("Offsets applied")
#define MSG_SET_ORIGIN "\xb7\xbc\xde\xad\xdd\xbe\xaf\xc4" // "キジュンセット" ("Set origin")
#define MSG_PREHEAT_1 "PLA \xd6\xc8\xc2" // "PLA ヨネツ" ("Preheat PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 " "
#define MSG_PREHEAT_1_ALL "PLA \xbd\xcd\xde\xc3\xd6\xc8\xc2" // "PLA スベテヨネツ" (" All")
#define MSG_PREHEAT_1_BEDONLY "PLA \xcd\xde\xaf\xc4\xde\xd6\xc8\xc2" // "PLA ベッドヨネツ" (" Bed")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 "\xbe\xaf\xc3\xb2" // "セッテイ" (" conf")
#define MSG_PREHEAT_2 "ABS \xd6\xc8\xc2" // "ABS ヨネツ" ("Preheat ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 " "
#define MSG_PREHEAT_2_ALL "ABS \xbd\xcd\xde\xc3\xd6\xc8\xc2" // "ABS スベテヨネツ" (" All")
#define MSG_PREHEAT_2_BEDONLY "ABS \xcd\xde\xaf\xc4\xde\xd6\xc8\xc2" // "ABS ベッドヨネツ" (" Bed")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 "\xbe\xaf\xc3\xb2" // "セッテイ" (" conf")
#define MSG_COOLDOWN "\xb6\xc8\xc2\xc3\xb2\xbc" // "カネツテイシ" ("Cooldown")
#define MSG_SWITCH_PS_ON "\xc3\xde\xdd\xb9\xde\xdd\x20\xb5\xdd" // "デンゲン オン" ("Switch power on")
#define MSG_SWITCH_PS_OFF "\xc3\xde\xdd\xb9\xde\xdd\x20\xb5\xcc" // "デンゲン オフ" ("Switch power off")
#define MSG_EXTRUDE "\xb5\xbc\xc0\xde\xbc" // "オシダシ" ("Extrude")
#define MSG_RETRACT "\xcb\xb7\xba\xd0\xbe\xaf\xc3\xb2" // "ヒキコミセッテイ" ("Retract")
#define MSG_MOVE_AXIS "\xbc\xde\xb8\xb2\xc4\xde\xb3" // "ジクイドウ" ("Move axis")
#define MSG_BED_LEVELING "\xcd\xde\xaf\xc4\xde\xda\xcd\xde\xd8\xdd\xb8\xde" // "ベッドレベリング" ("Bed Leveling")
#define MSG_LEVEL_BED "\xcd\xde\xaf\xc4\xde\xda\xcd\xde\xd8\xdd\xb8\xde" // "ベッドレベリング" ("Level bed")
#define MSG_MOVING "\xb2\xc4\xde\xb3\xc1\xad\xb3" // "イドウチュウ" ("Moving...")
#define MSG_FREE_XY "XY\xbc\xde\xb8\x20\xb6\xb2\xce\xb3" // "XYジク カイホウ" ("Free XY")
#define MSG_MOVE_X "X\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Xジク イドウ" ("Move X")
#define MSG_MOVE_Y "Y\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Yジク イドウ" ("Move Y")
#define MSG_MOVE_Z "Z\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Zジク イドウ" ("Move Z")
#define MSG_MOVE_E "\xb4\xb8\xbd\xc4\xd9\xb0\xc0\xde\xb0" // "エクストルーダー" ("Extruder")
#define MSG_MOVE_01MM "0.1mm \xb2\xc4\xde\xb3" // "0.1mm イドウ" ("Move 0.1mm")
#define MSG_MOVE_1MM " 1mm \xb2\xc4\xde\xb3" // " 1mm イドウ" ("Move 1mm")
#define MSG_MOVE_10MM " 10mm \xb2\xc4\xde\xb3" // " 10mm イドウ" ("Move 10mm")
#define MSG_SPEED "\xbf\xb8\xc4\xde" // "ソクド" ("Speed")
#define MSG_BED_Z "Z\xb5\xcc\xbe\xaf\xc4" // "Zオフセット" ("Bed Z")
#define MSG_NOZZLE "\xc9\xbd\xde\xd9" // "ノズル" ("Nozzle")
#define MSG_BED "\xcd\xde\xaf\xc4\xde" // "ベッド" ("Bed")
#define MSG_FAN_SPEED "\xcc\xa7\xdd\xbf\xb8\xc4\xde" // "ファンソクド" ("Fan speed")
#define MSG_FLOW "\xc4\xbc\xad\xc2\xd8\xae\xb3" // "トシュツリョウ" ("Flow")
#define MSG_CONTROL "\xbe\xb2\xb7\xde\xae" // "セイギョ" ("Control")
#define MSG_MIN LCD_STR_THERMOMETER " \xbb\xb2\xc3\xb2" // " サイテイ" (" Min")
#define MSG_MAX LCD_STR_THERMOMETER " \xbb\xb2\xba\xb3" // " サイコウ" (" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER " \xcc\xa7\xb8\xc0\xb0" // " ファクター" (" Fact")
#if LCD_WIDTH >= 20
#define MSG_AUTOTEMP "\xbc\xde\xc4\xde\xb3\xb5\xdd\xc4\xde\xbe\xb2\xb7\xde\xae" // "ジドウオンドセイギョ" ("Autotemp")
#else
#define MSG_AUTOTEMP "\xbc\xde\xc4\xde\xb3\xb5\xdd\xc4\xde" // "ジドウオンド" ("Autotemp")
#endif
#define MSG_ON "\xb5\xdd " // "オン " ("On ")
#define MSG_OFF "\xb5\xcc " // "オフ " ("Off")
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_SELECT "\xbe\xdd\xc0\xb8" // "センタク" ("Select")
#define MSG_JERK "\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // ヤクド mm/s ("Jerk")
#if LCD_WIDTH >= 20
#define MSG_ACC "\xb6\xbf\xb8\xc4\xde mm/s2" // "カソクド mm/s2" ("Accel")
#if IS_KINEMATIC
#define MSG_VA_JERK "A\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Aジク ヤクド mm/s" ("Va-jerk")
#define MSG_VB_JERK "B\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Bジク ヤクド mm/s" ("Vb-jerk")
#define MSG_VC_JERK "C\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Cジク ヤクド mm/s" ("Vc-jerk")
#else
#define MSG_VA_JERK "X\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Xジク ヤクド mm/s" ("Vx-jerk")
#define MSG_VB_JERK "Y\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Yジク ヤクド mm/s" ("Vy-jerk")
#define MSG_VC_JERK "Z\xbc\xde\xb8\x20\xd4\xb8\xc4\xde mm/s" // "Zジク ヤクド mm/s" ("Vz-jerk")
#endif
#define MSG_VE_JERK "\xb4\xb8\xbd\xc4\xd9\xb0\xc0\xde\xb0\x20\xd4\xb8\xc4\xde" // "エクストルーダー ヤクド" ("Ve-jerk")
#define MSG_VMAX "\xbb\xb2\xc0\xde\xb2\xb5\xb8\xd8\xbf\xb8\xc4\xde " // "サイダイオクリソクド " ("Vmax ")
#define MSG_VMIN "\xbb\xb2\xbc\xae\xb3\xb5\xb8\xd8\xbf\xb8\xc4\xde" // "サイショウオクリソクド" ("Vmin")
#define MSG_VTRAV_MIN "\xbb\xb2\xbc\xae\xb3\xb2\xc4\xde\xb3\xbf\xb8\xc4\xde" // "サイショウイドウソクド" ("VTrav min")
#define MSG_AMAX "\xbb\xb2\xc0\xde\xb2\xb6\xbf\xb8\xc4\xde " // "サイダイカソクド " ("Amax ")
#else
#define MSG_ACC "\xb6\xbf\xb8\xc4\xde" // "カソクド" ("Accel")
#if IS_KINEMATIC
#define MSG_VA_JERK "A\x20\xd4\xb8\xc4\xde" // "Aジク ヤクド" ("Va-jerk")
#define MSG_VB_JERK "B\x20\xd4\xb8\xc4\xde" // "Bジク ヤクド" ("Vb-jerk")
#define MSG_VC_JERK "C\x20\xd4\xb8\xc4\xde" // "Cジク ヤクド" ("Vc-jerk")
#else
#define MSG_VA_JERK "X\x20\xd4\xb8\xc4\xde" // "Xジク ヤクド" ("Vx-jerk")
#define MSG_VB_JERK "Y\x20\xd4\xb8\xc4\xde" // "Yジク ヤクド" ("Vy-jerk")
#define MSG_VC_JERK "Z\x20\xd4\xb8\xc4\xde" // "Zジク ヤクド" ("Vz-jerk")
#endif
#define MSG_VE_JERK "E\x20\xd4\xb8\xc4\xde" // "E ヤクド" ("Ve-jerk")
#define MSG_VMAX "max\xb5\xb8\xd8\xbf\xb8\xc4\xde " // "maxオクリソクド" ("Vmax ")
#define MSG_VMIN "min\xb5\xb8\xd8\xbf\xb8\xc4\xde" // "minオクリソクド" ("Vmin")
#define MSG_VTRAV_MIN "min\xb2\xc4\xde\xb3\xbf\xb8\xc4\xde" // "minイドウソクド" ("VTrav min")
#define MSG_AMAX "max\xb6\xbf\xb8 " // "maxカソク " ("Amax ")
#endif
#define MSG_A_RETRACT "\xcb\xb7\xba\xd0\xb6\xbf\xb8\xc4\xde" // "ヒキコミカソクド" ("A-retract")
#define MSG_A_TRAVEL "\xb2\xc4\xde\xb3\xb6\xbf\xb8\xc4\xde" // "イドウカソクド" ("A-travel")
#if LCD_WIDTH >= 20
#define MSG_STEPS_PER_MM "Steps/mm"
#if IS_KINEMATIC
#define MSG_ASTEPS "Asteps/mm"
#define MSG_BSTEPS "Bsteps/mm"
#define MSG_CSTEPS "Csteps/mm"
#else
#define MSG_ASTEPS "Xsteps/mm"
#define MSG_BSTEPS "Ysteps/mm"
#define MSG_CSTEPS "Zsteps/mm"
#endif
#define MSG_ESTEPS "Esteps/mm"
#define MSG_E1STEPS "E1steps/mm"
#define MSG_E2STEPS "E2steps/mm"
#define MSG_E3STEPS "E3steps/mm"
#define MSG_E4STEPS "E4steps/mm"
#define MSG_E5STEPS "E5steps/mm"
#else
#define MSG_STEPS_PER_MM "Steps"
#if IS_KINEMATIC
#define MSG_ASTEPS "Asteps"
#define MSG_BSTEPS "Bsteps"
#define MSG_CSTEPS "Csteps"
#else
#define MSG_ASTEPS "Xsteps"
#define MSG_BSTEPS "Ysteps"
#define MSG_CSTEPS "Zsteps"
#endif
#define MSG_ESTEPS "Esteps"
#define MSG_E1STEPS "E1steps"
#define MSG_E2STEPS "E2steps"
#define MSG_E3STEPS "E3steps"
#define MSG_E4STEPS "E4steps"
#define MSG_E5STEPS "E5steps"
#endif
#define MSG_TEMPERATURE "\xb5\xdd\xc4\xde" // "オンド" ("Temperature")
#define MSG_MOTION "\xb3\xba\xde\xb7\xbe\xaf\xc3\xb2" // "ウゴキセッテイ" ("Motion")
#define MSG_FILAMENT "\xcc\xa8\xd7\xd2\xdd\xc4" // "フィラメント" ("Filament")
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#if LCD_WIDTH >= 20
#define MSG_FILAMENT_DIAM "\xcc\xa8\xd7\xd2\xdd\xc4\xc1\xae\xaf\xb9\xb2" // "フィラメントチョッケイ" ("Fil. Dia.")
#else
#define MSG_FILAMENT_DIAM "\xcc\xa8\xd7\xd2\xdd\xc4\xb9\xb2" // "フィラメントケイ" ("Fil. Dia.")
#endif
#define MSG_CONTRAST "LCD\xba\xdd\xc4\xd7\xbd\xc4" // "LCDコントラスト" ("LCD contrast")
#define MSG_STORE_EEPROM "\xd2\xd3\xd8\xcd\xb6\xb8\xc9\xb3" // "メモリヘカクノウ" ("Store memory")
#define MSG_LOAD_EEPROM "\xd2\xd3\xd8\xb6\xd7\xd6\xd0\xba\xd0" // "メモリカラヨミコミ" ("Load memory")
#define MSG_RESTORE_FAILSAFE "\xbe\xaf\xc3\xb2\xd8\xbe\xaf\xc4" // "セッテイリセット" ("Restore failsafe")
#define MSG_REFRESH "\xd8\xcc\xda\xaf\xbc\xad" // "リフレッシュ" ("Refresh")
#define MSG_WATCH "\xbc\xde\xae\xb3\xce\xb3\xb6\xde\xd2\xdd" // "ジョウホウガメン" ("Info screen")
#define MSG_PREPARE "\xbc\xde\xad\xdd\xcb\xde\xbe\xaf\xc3\xb2" // "ジュンビセッテイ" ("Prepare")
#define MSG_TUNE "\xc1\xae\xb3\xbe\xb2" // "チョウセイ" ("Tune")
#define MSG_PAUSE_PRINT "\xb2\xc1\xbc\xde\xc3\xb2\xbc" // "イチジテイシ" ("Pause print")
#define MSG_RESUME_PRINT "\xcc\xdf\xd8\xdd\xc4\xbb\xb2\xb6\xb2" // "プリントサイカイ" ("Resume print")
#define MSG_STOP_PRINT "\xcc\xdf\xd8\xdd\xc4\xc3\xb2\xbc" // "プリントテイシ" ("Stop print")
#define MSG_CARD_MENU "SD\xb6\xb0\xc4\xde\xb6\xd7\xcc\xdf\xd8\xdd\xc4" // "SDカードカラプリント" ("Print from SD")
#define MSG_NO_CARD "SD\xb6\xb0\xc4\xde\xb6\xde\xb1\xd8\xcf\xbe\xdd" // "SDカードガアリマセン" ("No SD card")
#define MSG_DWELL "\xb7\xad\xb3\xbc" // "キュウシ" ("Sleep...")
#define MSG_USERWAIT "\xbc\xca\xde\xd7\xb8\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "シバラクオマチクダサイ" ("Wait for user...")
#define MSG_RESUMING "\xcc\xdf\xd8\xdd\xc4\xbb\xb2\xb6\xb2" // "プリントサイカイ" ("Resuming print")
#define MSG_PRINT_ABORTED "\xcc\xdf\xd8\xdd\xc4\xb6\xde\xc1\xad\xb3\xbc\xbb\xda\xcf\xbc\xc0" // "プリントガチュウシサレマシタ" ("Print aborted")
#define MSG_NO_MOVE "\xb3\xba\xde\xb7\xcf\xbe\xdd" // "ウゴキマセン" ("No move.")
#define MSG_KILLED "\xcb\xbc\xde\xae\xb3\xc3\xb2\xbc" // "ヒジョウテイシ" ("KILLED. ")
#define MSG_STOPPED "\xc3\xb2\xbc\xbc\xcf\xbc\xc0" // "テイシシマシタ" ("STOPPED. ")
#if LCD_WIDTH >= 20
#define MSG_CONTROL_RETRACT "\xcb\xb7\xba\xd0\xd8\xae\xb3 mm" // "ヒキコミリョウ mm" ("Retract mm")
#define MSG_CONTROL_RETRACT_SWAP "\xcb\xb7\xba\xd0\xd8\xae\xb3S mm" // "ヒキコミリョウS mm" ("Swap Re.mm")
#define MSG_CONTROL_RETRACTF "\xcb\xb7\xba\xd0\xbf\xb8\xc4\xde mm/s" // "ヒキコミソクド mm/s" ("Retract V")
#define MSG_CONTROL_RETRACT_ZLIFT "\xc9\xbd\xde\xd9\xc0\xb2\xcb mm" // "ノズルタイヒ mm" ("Hop mm")
#define MSG_CONTROL_RETRACT_RECOVER "\xce\xbc\xae\xb3\xd8\xae\xb3 mm" // "ホショウリョウ mm" ("UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "\xce\xbc\xae\xb3\xd8\xae\xb3S mm" // "ホショウリョウS mm" ("S UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF "\xce\xbc\xae\xb3\xbf\xb8\xc4\xde mm/s" // "ホショウソクド mm/s" ("UnRet V")
#else
#define MSG_CONTROL_RETRACT "\xcb\xb7\xba\xd0\xd8\xae\xb3" // "ヒキコミリョウ" ("Retract mm")
#define MSG_CONTROL_RETRACT_SWAP "\xcb\xb7\xba\xd0\xd8\xae\xb3S" // "ヒキコミリョウS" ("Swap Re.mm")
#define MSG_CONTROL_RETRACTF "\xcb\xb7\xba\xd0\xbf\xb8\xc4\xde" // "ヒキコミソクド" ("Retract V")
#define MSG_CONTROL_RETRACT_ZLIFT "\xc9\xbd\xde\xd9\xc0\xb2\xcb" // "ノズルタイヒ" ("Hop mm")
#define MSG_CONTROL_RETRACT_RECOVER "\xce\xbc\xae\xb3\xd8\xae\xb3" // "ホショウリョウ" ("UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "\xce\xbc\xae\xb3\xd8\xae\xb3S" // "ホショウリョウS" ("S UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF "\xce\xbc\xae\xb3\xbf\xb8\xc4\xde" // "ホショウソクド" ("UnRet V")
#endif
#define MSG_AUTORETRACT "\xbc\xde\xc4\xde\xb3\xcb\xb7\xba\xd0" // "ジドウヒキコミ" ("AutoRetr.")
#define MSG_FILAMENTCHANGE "\xcc\xa8\xd7\xd2\xdd\xc4\xba\xb3\xb6\xdd" // "フィラメントコウカン" ("Change filament")
#define MSG_INIT_SDCARD "SD\xb6\xb0\xc4\xde\xbb\xb2\xd6\xd0\xba\xd0" // "SDカードサイヨミコミ" ("Init. SD card")
#define MSG_CNG_SDCARD "SD\xb6\xb0\xc4\xde\xba\xb3\xb6\xdd" // "SDカードコウカン" ("Change SD card")
#define MSG_ZPROBE_OUT "Z\xcc\xdf\xdb\xb0\xcc\xde\x20\xcd\xde\xaf\xc4\xde\xb6\xde\xb2" // "Zプローブ ベッドガイ" ("Z probe out. bed")
#if LCD_WIDTH >= 20
#define MSG_BLTOUCH_SELFTEST "BLTouch \xbc\xde\xba\xbc\xdd\xc0\xde\xdd" // "BLTouch ジコシンダン" ("BLTouch Self-Test")
#else
#define MSG_BLTOUCH_SELFTEST "BLTouch \xbe\xd9\xcc\xc3\xbd\xc4" // "BLTouch セルフテスト" ("BLTouch Self-Test")
#endif
#define MSG_BLTOUCH_RESET "BLTouch \xd8\xbe\xaf\xc4" // "BLTouch リセット" ("Reset BLTouch")
#define MSG_HOME "\xbb\xb7\xc6" // "サキニ" ("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#if LCD_WIDTH >= 20
#define MSG_FIRST "\xa6\xcc\xaf\xb7\xbb\xbe\xc3\xb8\xc0\xde\xbb\xb2" // "ヲフッキサセテクダサイ" ("first")
#else
#define MSG_FIRST "\xa6\xcc\xaf\xb7\xbb\xbe\xd6" // "ヲフッキサセヨ" ("first")
#endif
#define MSG_ZPROBE_ZOFFSET "Z\xb5\xcc\xbe\xaf\xc4" // "Zオフセット" ("Z Offset")
#define MSG_BABYSTEP_X "X\xbc\xde\xb8\x20\xcb\xde\xc4\xde\xb3" // "Xジク ビドウ" ("Babystep X")
#define MSG_BABYSTEP_Y "Y\xbc\xde\xb8\x20\xcb\xde\xc4\xde\xb3" // "Yジク ビドウ" ("Babystep Y")
#define MSG_BABYSTEP_Z "Z\xbc\xde\xb8\x20\xcb\xde\xc4\xde\xb3" // "Zジク ビドウ" ("Babystep Z")
#if LCD_WIDTH >= 20
#define MSG_ENDSTOP_ABORT "\xb2\xc4\xde\xb3\xb9\xde\xdd\xb6\xb2\xb9\xdd\xc1\xb7\xc9\xb3" // "イドウゲンカイケンチキノウ" ("Endstop abort")
#else
#define MSG_ENDSTOP_ABORT "\xb2\xc4\xde\xb3\xb9\xde\xdd\xb6\xb2\xb9\xdd\xc1" // "イドウゲンカイケンチ" ("Endstop abort")
#endif
#define MSG_HEATING_FAILED_LCD "\xb6\xc8\xc2\xbc\xaf\xca\xdf\xb2" // "カネツシッパイ" ("Heating failed")
#if LCD_WIDTH >= 20
#define MSG_ERR_REDUNDANT_TEMP "\xb4\xd7\xb0:\xbc\xde\xae\xb3\xc1\xae\xb3\xbb\xb0\xd0\xbd\xc0\xb0\xb7\xc9\xb3" // "エラー:ジョウチョウサーミスターキノウ" ("Err: REDUNDANT TEMP")
#else
#define MSG_ERR_REDUNDANT_TEMP "\xb4\xd7\xb0:\xbc\xde\xae\xb3\xc1\xae\xb3\xbb\xb0\xd0\xbd\xc0" // "エラー:ジョウチョウサーミスタ" ("Err: REDUNDANT TEMP")
#endif
#define MSG_THERMAL_RUNAWAY "\xc8\xc2\xce\xde\xb3\xbf\xb3" // "ネツボウソウ" ("THERMAL RUNAWAY")
#define MSG_ERR_MAXTEMP "\xb4\xd7\xb0:\xbb\xb2\xba\xb3\xb5\xdd\xc1\xae\xb3\xb6" // "エラー:サイコウオンチョウカ" ("Err: MAXTEMP")
#define MSG_ERR_MINTEMP "\xb4\xd7\xb0:\xbb\xb2\xc3\xb2\xb5\xdd\xd0\xcf\xdd" // "エラー:サイテイオンミマン" ("Err: MINTEMP")
#if LCD_WIDTH >= 20
#define MSG_ERR_MAXTEMP_BED "\xb4\xd7\xb0:\xcd\xde\xaf\xc4\xde\x20\xbb\xb2\xba\xb3\xb5\xdd\xc1\xae\xb3\xb6" // "エラー:ベッド サイコウオンチョウカ" ("Err: MAXTEMP BED")
#define MSG_ERR_MINTEMP_BED "\xb4\xd7\xb0:\xcd\xde\xaf\xc4\xde\x20\xbb\xb2\xc3\xb2\xb5\xdd\xd0\xcf\xdd" // "エラー:ベッド サイテイオンミマン" ("Err: MINTEMP BED")
#else
#define MSG_ERR_MAXTEMP_BED "\xb4\xd7\xb0:\xcd\xde\xaf\xc4\xde\x20\xbb\xb2\xba\xb3\xb5\xdd" // "エラー:ベッド サイコウオン" ("Err: MAXTEMP BED")
#define MSG_ERR_MINTEMP_BED "\xb4\xd7\xb0:\xcd\xde\xaf\xc4\xde\x20\xbb\xb2\xc3\xb2\xb5\xdd" // "エラー:ベッド サイテイオン" ("Err: MINTEMP BED")
#endif
#define MSG_ERR_Z_HOMING MSG_HOME " " MSG_X MSG_Y " " MSG_FIRST // "サキニ XY ヲフッキサセテクダサイ" or "サキニ XY ヲフッキサセヨ" ("Home XY first")
#define MSG_HALTED "\xcc\xdf\xd8\xdd\xc0\xb0\xca\xc3\xb2\xbc\xbc\xcf\xbc\xc0" // "プリンターハテイシシマシタ" ("PRINTER HALTED")
#define MSG_PLEASE_RESET "\xd8\xbe\xaf\xc4\xbc\xc3\xb8\xc0\xde\xbb\xb2" // "リセットシテクダサイ" ("Please reset")
#define MSG_SHORT_DAY "d" // One character only
#define MSG_SHORT_HOUR "h" // One character only
#define MSG_SHORT_MINUTE "m" // One character only
#define MSG_HEATING "\xb6\xc8\xc2\xc1\xad\xb3" // "カネツチュウ" ("Heating...")
#define MSG_HEATING_COMPLETE "\xb6\xc8\xc2\xb6\xdd\xd8\xae\xb3" // "カネツカンリョウ" ("Heating done.")
#define MSG_BED_HEATING "\xcd\xde\xaf\xc4\xde\x20\xb6\xc8\xc2\xc1\xad\xb3" // "ベッド カネツチュウ" ("Bed Heating.")
#define MSG_BED_DONE "\xcd\xde\xaf\xc4\xde\x20\xb6\xc8\xc2\xb6\xdd\xd8\xae\xb3" // "ベッド カネツカンリョウ" ("Bed done.")
#define MSG_DELTA_CALIBRATE "\xc3\xde\xd9\xc0\x20\xba\xb3\xbe\xb2" // "デルタ コウセイ" ("Delta Calibration")
#define MSG_DELTA_CALIBRATE_X "X\xbc\xde\xb8\x20\xba\xb3\xbe\xb2" // "Xジク コウセイ" ("Calibrate X")
#define MSG_DELTA_CALIBRATE_Y "Y\xbc\xde\xb8\x20\xba\xb3\xbe\xb2" // "Yジク コウセイ" ("Calibrate Y")
#define MSG_DELTA_CALIBRATE_Z "Z\xbc\xde\xb8\x20\xba\xb3\xbe\xb2" // "Zジク コウセイ" ("Calibrate Z")
#define MSG_DELTA_CALIBRATE_CENTER "\xc1\xad\xb3\xbc\xdd\x20\xba\xb3\xbe\xb2" // "チュウシン コウセイ" ("Calibrate Center")
#define MSG_INFO_MENU "\xba\xc9\xcc\xdf\xd8\xdd\xc0\xb0\xc6\xc2\xb2\xc3" // "コノプリンターニツイテ" ("About Printer")
#define MSG_INFO_PRINTER_MENU "\xcc\xdf\xd8\xdd\xc0\xb0\xbc\xde\xae\xb3\xce\xb3" // "プリンタージョウホウ" ("Printer Info")
#define MSG_INFO_STATS_MENU "\xcc\xdf\xd8\xdd\xc4\xbc\xde\xae\xb3\xb7\xae\xb3" // "プリントジョウキョウ" ("Printer Stats")
#define MSG_INFO_BOARD_MENU "\xbe\xb2\xb7\xde\xae\xb9\xb2\xbc\xde\xae\xb3\xce\xb3" // "セイギョケイジョウホウ" ("Board Info")
#define MSG_INFO_THERMISTOR_MENU "\xbb\xb0\xd0\xbd\xc0\xb0" // "サーミスター" ("Thermistors")
#define MSG_INFO_EXTRUDERS "\xb4\xb8\xbd\xc4\xd9\xb0\xc0\xde\xb0\xbd\xb3" // "エクストルーダースウ" ("Extruders")
#define MSG_INFO_BAUDRATE "\xce\xde\xb0\xda\xb0\xc4" // "ボーレート" ("Baud")
#define MSG_INFO_PROTOCOL "\xcc\xdf\xdb\xc4\xba\xd9" // "プロトコル" ("Protocol")
#define MSG_CASE_LIGHT "\xb7\xae\xb3\xc0\xb2\xc5\xb2\xbc\xae\xb3\xd2\xb2" // "キョウタイナイショウメイ" ("Case light")
#define MSG_INFO_PRINT_COUNT "\xcc\xdf\xd8\xdd\xc4\xbd\xb3" // "プリントスウ" ("Print Count")
#define MSG_INFO_COMPLETED_PRINTS "\xb6\xdd\xd8\xae\xb3\xbd\xb3" // "カンリョウスウ" ("Completed")
#define MSG_INFO_PRINT_TIME "\xcc\xdf\xd8\xdd\xc4\xbc\xde\xb6\xdd\xd9\xb2\xb9\xb2" // "プリントジカンルイケイ" ("Total print time")
#define MSG_INFO_PRINT_LONGEST "\xbb\xb2\xc1\xae\xb3\xcc\xdf\xd8\xdd\xc4\xbc\xde\xb6\xdd" // "サイチョウプリントジカン" ("Longest job time")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_FILAMENT "\xcc\xa8\xd7\xd2\xdd\xc4\xbc\xd6\xb3\xd8\xae\xb3\xd9\xb2\xb9\xb2" // "フィラメントシヨウリョウルイケイ" ("Extruded total")
#else
#define MSG_INFO_PRINT_FILAMENT "\xcc\xa8\xd7\xd2\xdd\xc4\xbf\xb3\xbc\xd6\xb3\xd8\xae\xb3" // "フィラメントソウシヨウリョウ" ("Extruded")
#endif
#define MSG_INFO_MIN_TEMP "\xbe\xaf\xc3\xb2\xbb\xb2\xc3\xb2\xb5\xdd" // "セッテイサイテイオン" ("Min Temp")
#define MSG_INFO_MAX_TEMP "\xbe\xaf\xc3\xb2\xbb\xb2\xba\xb3\xb5\xdd" // "セッテイサイコウオン" ("Max Temp")
#if LCD_WIDTH >= 20
#define MSG_INFO_PSU "\xc3\xde\xdd\xb9\xde\xdd\xbc\xad\xcd\xde\xc2" // "デンゲンシュベツ" ("Power Supply")
#else
#define MSG_INFO_PSU "\xc3\xde\xdd\xb9\xde\xdd" // "デンゲン" ("Power Supply")
#endif
#define MSG_DRIVE_STRENGTH "\xd3\xb0\xc0\xb0\xb8\xc4\xde\xb3\xd8\xae\xb8" // "モータークドウリョク" ("Drive Strength")
#if LCD_WIDTH >= 20
#define MSG_DAC_PERCENT "DAC\xbc\xad\xc2\xd8\xae\xb8 %" // "DACシュツリョク %" ("Driver %")
#else
#define MSG_DAC_PERCENT "DAC\xbc\xad\xc2\xd8\xae\xb8" // "DACシュツリョク" ("Driver %")
#endif
#define MSG_DAC_EEPROM_WRITE MSG_STORE_EEPROM // "メモリヘカクノウ" ("DAC EEPROM Write")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME "\xcc\xdf\xd8\xdd\xc4\xbb\xb2\xb6\xb2" // "プリントサイカイ" ("Resume print")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 "\xba\xb3\xb6\xdd\xa6\xb6\xb2\xbc\xbc\xcf\xbd" // "コウカンヲカイシシマス" ("Wait for start")
#define MSG_FILAMENT_CHANGE_INIT_2 "\xbc\xca\xde\xd7\xb8\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "シバラクオマチクダサイ" ("of the filament")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 "\xcc\xa8\xd7\xd2\xdd\xc4\xc7\xb7\xc0\xde\xbc\xc1\xad\xb3" // "フィラメントヌキダシチュウ" ("Wait for")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 "\xbc\xca\xde\xd7\xb8\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "シバラクオマチクダサイ" ("filament unload")
#define MSG_FILAMENT_CHANGE_INSERT_1 "\xcc\xa8\xd7\xd2\xdd\xc4\xa6\xbf\xb3\xc6\xad\xb3\xbc," // "フィラメントヲソウニュウシ," ("Insert filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 "\xb8\xd8\xaf\xb8\xbd\xd9\xc4\xbf\xde\xaf\xba\xb3\xbc\xcf\xbd" // "クリックスルトゾッコウシマス" ("and press button")
#define MSG_FILAMENT_CHANGE_LOAD_1 "\xcc\xa8\xd7\xd2\xdd\xc4\xbf\xb3\xc3\xdd\xc1\xad\xb3" // "フィラメントソウテンチュウ" ("Wait for")
#define MSG_FILAMENT_CHANGE_LOAD_2 "\xbc\xca\xde\xd7\xb8\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "シバラクオマチクダサイ" ("filament load")
#define MSG_FILAMENT_CHANGE_RESUME_1 "\xcc\xdf\xd8\xdd\xc4\xa6\xbb\xb2\xb6\xb2\xbc\xcf\xbd" // "プリントヲサイカイシマス" ("Wait for print")
#define MSG_FILAMENT_CHANGE_RESUME_2 "\xbc\xca\xde\xd7\xb8\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "シバラクオマチクダサイ" ("to resume")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 "\xba\xb3\xb6\xdd\xa6\xb6\xb2\xbc\xbc\xcf\xbd" // "コウカンヲカイシシマス" ("Please wait...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 "\xcc\xa8\xd7\xd2\xdd\xc4\xc7\xb7\xc0\xde\xbc\xc1\xad\xb3" // "フィラメントヌキダシチュウ" ("Ejecting...")
#if LCD_WIDTH >= 20
#define MSG_FILAMENT_CHANGE_INSERT_1 "\xbf\xb3\xc6\xad\xb3\xbc\x2c\xb8\xd8\xaf\xb8\xbc\xc3\xb8\xc0\xde\xbb\xb2" // "ソウニュウシ,クリックシテクダサイ" ("Insert and Click")
#else
#define MSG_FILAMENT_CHANGE_INSERT_1 "\xbf\xb3\xc6\xad\xb3\xbc\x2c\xb8\xd8\xaf\xb8\xbe\xd6" // "ソウニュウシ,クリックセヨ" ("Insert and Click")
#endif
#define MSG_FILAMENT_CHANGE_LOAD_1 "\xcc\xa8\xd7\xd2\xdd\xc4\xbf\xb3\xc3\xdd\xc1\xad\xb3" // "フィラメントソウテンチュウ" ("Loading...")
#define MSG_FILAMENT_CHANGE_RESUME_1 "\xcc\xdf\xd8\xdd\xc4\xa6\xbb\xb2\xb6\xb2\xbc\xcf\xbd" // "プリントヲサイカイシマス" ("Resuming...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_KANA_H

View file

@ -1,255 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Polish for DOGM display - includes accented characters
*/
#ifndef LANGUAGE_PL_DOGM_H
#define LANGUAGE_PL_DOGM_H
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.")
#define MSG_SD_INSERTED _UxGT("Karta włożona")
#define MSG_SD_REMOVED _UxGT("Karta usunięta")
#define MSG_LCD_ENDSTOPS _UxGT("Kranców.") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu główne")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Wyłącz silniki")
#define MSG_AUTO_HOME _UxGT("Pozycja zerowa")
#define MSG_AUTO_HOME_X _UxGT("Zeruj X")
#define MSG_AUTO_HOME_Y _UxGT("Zeruj Y")
#define MSG_AUTO_HOME_Z _UxGT("Zeruj Z")
#define MSG_LEVEL_BED _UxGT("Poziom. stołu")
#define MSG_LEVEL_BED_HOMING _UxGT("Pozycja zerowa")
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Następny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!")
#define MSG_USER_MENU _UxGT("Własne Polecenia")
#define MSG_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
#define MSG_PREHEAT_1 _UxGT("Rozgrzej PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" wsz.")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Rozgrzej stół PLA")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Ustaw. rozg. PLA")
#define MSG_PREHEAT_2 _UxGT("Rozgrzej ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" wsz.")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Rozgrzej stół ABS")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Ustaw. rozg. ABS")
#define MSG_COOLDOWN _UxGT("Chłodzenie")
#define MSG_SWITCH_PS_ON _UxGT("Włącz zasilacz")
#define MSG_SWITCH_PS_OFF _UxGT("Wyłącz zasilacz")
#define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stołu")
#define MSG_MOVE_X _UxGT("Przesuń w X")
#define MSG_MOVE_Y _UxGT("Przesuń w Y")
#define MSG_MOVE_Z _UxGT("Przesuń w Z")
#define MSG_MOVE_E _UxGT("Ekstruzja (os E)")
#define MSG_MOVE_01MM _UxGT("Przesuń co .1mm")
#define MSG_MOVE_1MM _UxGT("Przesuń co 1mm")
#define MSG_MOVE_10MM _UxGT("Przesuń co 10mm")
#define MSG_SPEED _UxGT("Predkość")
#define MSG_BED_Z _UxGT("Stół Z")
#define MSG_NOZZLE _UxGT("Dysza")
#define MSG_BED _UxGT("Stół")
#define MSG_FAN_SPEED _UxGT("Obroty wiatraka")
#define MSG_FLOW _UxGT("Przepływ")
#define MSG_CONTROL _UxGT("Ustawienia")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Mnożnik")
#define MSG_AUTOTEMP _UxGT("Auto. temperatura")
#define MSG_ON _UxGT("Wł. ")
#define MSG_OFF _UxGT("Wył.")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Select")
#define MSG_ACC _UxGT("Przyśpieszenie")
#define MSG_JERK _UxGT("Zryw")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Zryw Va")
#define MSG_VB_JERK _UxGT("Zryw Vb")
#define MSG_VC_JERK _UxGT("Zryw Vc")
#else
#define MSG_VA_JERK _UxGT("Zryw Vx")
#define MSG_VB_JERK _UxGT("Zryw Vy")
#define MSG_VC_JERK _UxGT("Zryw Vz")
#endif
#define MSG_VE_JERK _UxGT("Zryw Ve")
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vskok min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax")
#define MSG_A_RETRACT _UxGT("A-wycofanie")
#define MSG_A_TRAVEL _UxGT("A-przesuń.")
#define MSG_STEPS_PER_MM _UxGT("kroki/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("krokiA/mm")
#define MSG_BSTEPS _UxGT("krokiB/mm")
#define MSG_CSTEPS _UxGT("krokiC/mm")
#else
#define MSG_ASTEPS _UxGT("krokiX/mm")
#define MSG_BSTEPS _UxGT("krokiY/mm")
#define MSG_CSTEPS _UxGT("krokiZ/mm")
#endif
#define MSG_ESTEPS _UxGT("krokiE/mm")
#define MSG_E1STEPS _UxGT("krokiE1/mm")
#define MSG_E2STEPS _UxGT("krokiE2/mm")
#define MSG_E3STEPS _UxGT("krokiE3/mm")
#define MSG_E4STEPS _UxGT("krokiE4/mm")
#define MSG_E5STEPS _UxGT("krokiE5/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Ruch")
#define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E w mm3")
#define MSG_FILAMENT_DIAM _UxGT("Śr. fil.")
#define MSG_CONTRAST _UxGT("Kontrast LCD")
#define MSG_STORE_EEPROM _UxGT("Zapisz w pamięci")
#define MSG_LOAD_EEPROM _UxGT("Wczytaj z pamięci")
#define MSG_RESTORE_FAILSAFE _UxGT("Ustaw. fabryczne")
#define MSG_REFRESH _UxGT("Odswież")
#define MSG_WATCH _UxGT("Ekran główny")
#define MSG_PREPARE _UxGT("Przygotuj")
#define MSG_TUNE _UxGT("Strojenie")
#define MSG_PAUSE_PRINT _UxGT("Pauza")
#define MSG_RESUME_PRINT _UxGT("Wznowienie")
#define MSG_STOP_PRINT _UxGT("Stop")
#define MSG_CARD_MENU _UxGT("Karta SD")
#define MSG_NO_CARD _UxGT("Brak karty")
#define MSG_DWELL _UxGT("Uśpij...")
#define MSG_USERWAIT _UxGT("Oczekiwanie...")
#define MSG_RESUMING _UxGT("Wznawianie druku")
#define MSG_PRINT_ABORTED _UxGT("Druk przerwany")
#define MSG_NO_MOVE _UxGT("Brak ruchu")
#define MSG_KILLED _UxGT("Ubity. ")
#define MSG_STOPPED _UxGT("Zatrzymany. ")
#define MSG_CONTROL_RETRACT _UxGT("Wycofaj mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Z Wycof. mm")
#define MSG_CONTROL_RETRACTF _UxGT("Wycofaj V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Skok Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Cof. wycof. mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Z Cof. wyc. mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Cof. wycof. V")
#define MSG_AUTORETRACT _UxGT("Auto. wycofanie")
#define MSG_FILAMENTCHANGE _UxGT("Zmień filament")
#define MSG_INIT_SDCARD _UxGT("Inicjal. karty SD")
#define MSG_CNG_SDCARD _UxGT("Zmiana karty SD")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z za stołem")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET _UxGT("Offset Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Błąd krańcówki")
#define MSG_HEATING_FAILED_LCD _UxGT("Rozgrz. nieudane")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Błąd temperatury")
#define MSG_THERMAL_RUNAWAY _UxGT("Zanik temp.")
#define MSG_ERR_MAXTEMP _UxGT("Err max temp")
#define MSG_ERR_MINTEMP _UxGT("Err min temp")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err max temp stołu")
#define MSG_ERR_MINTEMP_BED _UxGT("Err min temp stołu")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("Drukarka zatrzym.")
#define MSG_PLEASE_RESET _UxGT("Proszę zresetować")
#define MSG_SHORT_DAY _UxGT("d") // One character only
#define MSG_SHORT_HOUR _UxGT("g") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("Rozgrzewanie...")
#define MSG_HEATING_COMPLETE _UxGT("Rozgrzano")
#define MSG_BED_HEATING _UxGT("Rozgrzewanie stołu...")
#define MSG_BED_DONE _UxGT("Rozgrzano stół")
#define MSG_DELTA_CALIBRATE _UxGT("Kalibrowanie Delty")
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibruj X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibruj Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibruj Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibruj środek")
#define MSG_INFO_MENU _UxGT("O drukarce")
#define MSG_INFO_PRINTER_MENU _UxGT("Info drukarki")
#define MSG_INFO_STATS_MENU _UxGT("Statystyki")
#define MSG_INFO_BOARD_MENU _UxGT("Board Info")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistory")
#define MSG_INFO_EXTRUDERS _UxGT("Ekstrudery")
#define MSG_INFO_BAUDRATE _UxGT("Predkość USB")
#define MSG_INFO_PROTOCOL _UxGT("Protokół")
#define MSG_CASE_LIGHT _UxGT("Oświetlenie")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukończono")
#define MSG_INFO_PRINT_TIME _UxGT("Czas druku")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdł. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Użyty fil.")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukończono")
#define MSG_INFO_PRINT_TIME _UxGT("Razem")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdł. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Użyty fil.")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
#define MSG_INFO_PSU _UxGT("Zasilacz")
#define MSG_DRIVE_STRENGTH _UxGT("Siła silnika")
#define MSG_DAC_PERCENT _UxGT("Siła %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Zapisz DAC EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("ZMIEŃ FILAMENT")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("ZMIEŃ OPCJE:")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Wznów drukowanie")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Czekam na ")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("zmianę filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("wyjęcie filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Włóz filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i naciśnij przycisk")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("aby kontynuować...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("włożenie filamentu")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("wznowienie druku")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Proszę czekać...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Wysuwanie...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Włóż i naciśnij prz.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Ładowanie...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_PL_DOGM_H

View file

@ -1,278 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Polish for HD44780 display - no accented characters
*/
#ifndef LANGUAGE_PL_HD44780_H
#define LANGUAGE_PL_HD44780_H
#define NOT_EXTENDED_ISO10646_1_5X7
#define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.")
#define MSG_SD_INSERTED _UxGT("Karta wlozona")
#define MSG_SD_REMOVED _UxGT("Karta usunieta")
#define MSG_LCD_ENDSTOPS _UxGT("Krancow.") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu glowne")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Wylacz silniki")
#define MSG_AUTO_HOME _UxGT("Pozycja zerowa")
#define MSG_AUTO_HOME_X _UxGT("Zeruj X")
#define MSG_AUTO_HOME_Y _UxGT("Zeruj Y")
#define MSG_AUTO_HOME_Z _UxGT("Zeruj Z")
#define MSG_LEVEL_BED _UxGT("Poziom. stolu")
#define MSG_LEVEL_BED_HOMING _UxGT("Pozycja zerowa")
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nastepny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!")
#define MSG_USER_MENU _UxGT("Wlasne Polecenia")
#define MSG_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
#define MSG_PREHEAT_1 _UxGT("Rozgrzej PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" wsz.")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Rozgrzej stol PLA")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Ustaw. rozg. PLA")
#define MSG_PREHEAT_2 _UxGT("Rozgrzej ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" wsz.")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Rozgrzej stol ABS")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Ustaw. rozg. ABS")
#define MSG_COOLDOWN _UxGT("Chlodzenie")
#define MSG_SWITCH_PS_ON _UxGT("Wlacz zasilacz")
#define MSG_SWITCH_PS_OFF _UxGT("Wylacz zasilacz")
#define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stolu")
#define MSG_MOVE_X _UxGT("Przesun w X")
#define MSG_MOVE_Y _UxGT("Przesun w Y")
#define MSG_MOVE_Z _UxGT("Przesun w Z")
#define MSG_MOVE_E _UxGT("Ekstruzja (os E)")
#define MSG_MOVE_01MM _UxGT("Przesun co .1mm")
#define MSG_MOVE_1MM _UxGT("Przesun co 1mm")
#define MSG_MOVE_10MM _UxGT("Przesun co 10mm")
#define MSG_SPEED _UxGT("Predkosc")
#define MSG_BED_Z _UxGT("Stol Z")
#define MSG_NOZZLE _UxGT("Dysza")
#define MSG_BED _UxGT("Stol")
#define MSG_FAN_SPEED _UxGT("Obroty wiatraka")
#define MSG_FLOW _UxGT("Przeplyw")
#define MSG_CONTROL _UxGT("Ustawienia")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Mnoznik")
#define MSG_AUTOTEMP _UxGT("Auto. temperatura")
#define MSG_ON _UxGT("Wl. ")
#define MSG_OFF _UxGT("Wyl.")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Select")
#define MSG_ACC _UxGT("Przyspieszenie")
#define MSG_JERK _UxGT("Zryw")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Zryw Va")
#define MSG_VB_JERK _UxGT("Zryw Vb")
#define MSG_VC_JERK _UxGT("Zryw Vc")
#else
#define MSG_VA_JERK _UxGT("Zryw Vx")
#define MSG_VB_JERK _UxGT("Zryw Vy")
#define MSG_VC_JERK _UxGT("Zryw Vz")
#endif
#define MSG_VE_JERK _UxGT("Zryw Ve")
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vskok min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax")
#define MSG_A_RETRACT _UxGT("A-wycofanie")
#define MSG_A_TRAVEL _UxGT("A-przesun.")
#define MSG_STEPS_PER_MM _UxGT("kroki/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("krokiA/mm")
#define MSG_BSTEPS _UxGT("krokiB/mm")
#define MSG_CSTEPS _UxGT("krokiC/mm")
#else
#define MSG_ASTEPS _UxGT("krokiX/mm")
#define MSG_BSTEPS _UxGT("krokiY/mm")
#define MSG_CSTEPS _UxGT("krokiZ/mm")
#endif
#define MSG_ESTEPS _UxGT("krokiE/mm")
#define MSG_E1STEPS _UxGT("krokiE1/mm")
#define MSG_E2STEPS _UxGT("krokiE2/mm")
#define MSG_E3STEPS _UxGT("krokiE3/mm")
#define MSG_E4STEPS _UxGT("krokiE4/mm")
#define MSG_E5STEPS _UxGT("krokiE5/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Ruch")
#define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E w mm3")
#define MSG_FILAMENT_DIAM _UxGT("Sr. fil.")
#define MSG_CONTRAST _UxGT("Kontrast LCD")
#define MSG_STORE_EEPROM _UxGT("Zapisz w pamieci")
#define MSG_LOAD_EEPROM _UxGT("Wczytaj z pamieci")
#define MSG_RESTORE_FAILSAFE _UxGT("Ustaw. fabryczne")
#define MSG_REFRESH _UxGT("Odswiez")
#define MSG_WATCH _UxGT("Ekran glowny")
#define MSG_PREPARE _UxGT("Przygotuj")
#define MSG_TUNE _UxGT("Strojenie")
#define MSG_PAUSE_PRINT _UxGT("Pauza")
#define MSG_RESUME_PRINT _UxGT("Wznowienie")
#define MSG_STOP_PRINT _UxGT("Stop")
#define MSG_CARD_MENU _UxGT("Karta SD")
#define MSG_NO_CARD _UxGT("Brak karty")
#define MSG_DWELL _UxGT("Uspij...")
#define MSG_USERWAIT _UxGT("Oczekiwanie...")
#define MSG_RESUMING _UxGT("Wznawianie druku")
#define MSG_PRINT_ABORTED _UxGT("Druk przerwany")
#define MSG_NO_MOVE _UxGT("Brak ruchu")
#define MSG_KILLED _UxGT("Ubity. ")
#define MSG_STOPPED _UxGT("Zatrzymany. ")
#define MSG_CONTROL_RETRACT _UxGT("Wycofaj mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Z Wycof. mm")
#define MSG_CONTROL_RETRACTF _UxGT("Wycofaj V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Skok Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Cof. wycof. mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Z Cof. wyc. mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Cof. wycof. V")
#define MSG_AUTORETRACT _UxGT("Auto. wycofanie")
#define MSG_FILAMENTCHANGE _UxGT("Zmien filament")
#define MSG_INIT_SDCARD _UxGT("Inicjal. karty SD")
#define MSG_CNG_SDCARD _UxGT("Zmiana karty SD")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z za stolem")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET _UxGT("Offset Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Blad krancowki")
#define MSG_HEATING_FAILED_LCD _UxGT("Rozgrz. nieudane")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Blad temperatury")
#define MSG_THERMAL_RUNAWAY _UxGT("Zanik temp.")
#define MSG_ERR_MAXTEMP _UxGT("Err max temp")
#define MSG_ERR_MINTEMP _UxGT("Err min temp")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err max temp stolu")
#define MSG_ERR_MINTEMP_BED _UxGT("Err min temp stolu")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("Drukarka zatrzym.")
#define MSG_PLEASE_RESET _UxGT("Prosze zresetowac")
#define MSG_SHORT_DAY _UxGT("d") // One character only
#define MSG_SHORT_HOUR _UxGT("g") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("Rozgrzewanie...")
#define MSG_HEATING_COMPLETE _UxGT("Rozgrzano")
#define MSG_BED_HEATING _UxGT("Rozgrzewanie stolu...")
#define MSG_BED_DONE _UxGT("Rozgrzano stol")
#define MSG_DELTA_CALIBRATE _UxGT("Kalibrowanie Delty")
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibruj X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibruj Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibruj Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibruj srodek")
#define MSG_INFO_MENU _UxGT("O drukarce")
#define MSG_INFO_PRINTER_MENU _UxGT("Info drukarki")
#define MSG_INFO_STATS_MENU _UxGT("Statystyki")
#define MSG_INFO_BOARD_MENU _UxGT("Board Info")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistory")
#define MSG_INFO_EXTRUDERS _UxGT("Ekstrudery")
#define MSG_INFO_BAUDRATE _UxGT("Predkosc USB")
#define MSG_INFO_PROTOCOL _UxGT("Protokol")
#define MSG_CASE_LIGHT _UxGT("Oswietlenie")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukonczono")
#define MSG_INFO_PRINT_TIME _UxGT("Czas druku")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdl. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Uzyty fil.")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukonczono")
#define MSG_INFO_PRINT_TIME _UxGT("Razem")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdl. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Uzyty fil.")
#endif
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
#define MSG_INFO_PSU _UxGT("Zasilacz")
#define MSG_DRIVE_STRENGTH _UxGT("Sila silnika")
#define MSG_DAC_PERCENT _UxGT("Sila %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Zapisz DAC EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("ZMIEN FILAMENT")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("ZMIEN OPCJE:")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Wznow drukowanie")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Czekam na ")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("zmiane filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("wyjecie filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Wloz filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i nacisnij przycisk")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("aby kontynuowac...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("wlozenie filamentu")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("wznowienie druku")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Prosze czekac...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Wysuwanie...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Wloz i nacisnij prz.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Ladowanie...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Czekam na ")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("zmiane filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("wyjecie filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Wloz filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i nacisnij przycisk")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("aby kontynuowac...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("wlozenie filamentu")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("wznowienie druku")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Prosze czekac...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Wysuwanie...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Wloz i nacisnij prz.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Ladowanie...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_PL_HD44780_H

View file

@ -21,25 +21,239 @@
*/ */
/** /**
* Polish * Polish for DOGM display - includes accented characters
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/ */
#ifndef LANGUAGE_PL_H
#define LANGUAGE_PL_H #ifndef LANGUAGE_PL_DOGM_H
#define LANGUAGE_PL_DOGM_H
#define MAPPER_C3C4C5_PL #define MAPPER_C3C4C5_PL
#define DISPLAY_CHARSET_ISO10646_PL #define DISPLAY_CHARSET_ISO10646_PL
/** #define CHARSIZE 2
* One version with accented characters and one without
*/ #define WELCOME_MSG MACHINE_NAME _UxGT(" gotowy.")
#if ENABLED(DOGLCD) #define MSG_SD_INSERTED _UxGT("Karta włożona")
#include "language_pl-DOGM.h" #define MSG_SD_REMOVED _UxGT("Karta usunięta")
#define MSG_LCD_ENDSTOPS _UxGT("Kranców.") // Max length 8 characters
#define MSG_MAIN _UxGT("Menu główne")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Wyłącz silniki")
#define MSG_AUTO_HOME _UxGT("Pozycja zerowa")
#define MSG_AUTO_HOME_X _UxGT("Zeruj X")
#define MSG_AUTO_HOME_Y _UxGT("Zeruj Y")
#define MSG_AUTO_HOME_Z _UxGT("Zeruj Z")
#define MSG_LEVEL_BED _UxGT("Poziom. stołu")
#define MSG_LEVEL_BED_HOMING _UxGT("Pozycja zerowa")
#define MSG_LEVEL_BED_WAITING _UxGT("Kliknij by rozp.")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Następny punkt")
#define MSG_LEVEL_BED_DONE _UxGT("Wypoziomowano!")
#define MSG_USER_MENU _UxGT("Własne Polecenia")
#define MSG_SET_HOME_OFFSETS _UxGT("Ust. poz. zer.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Poz. zerowa ust.")
#define MSG_SET_ORIGIN _UxGT("Ustaw punkt zero")
#define MSG_PREHEAT_1 _UxGT("Rozgrzej PLA")
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" wsz.")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Rozgrzej stół PLA")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Ustaw. rozg. PLA")
#define MSG_PREHEAT_2 _UxGT("Rozgrzej ABS")
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" wsz.")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Rozgrzej stół ABS")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Ustaw. rozg. ABS")
#define MSG_COOLDOWN _UxGT("Chłodzenie")
#define MSG_SWITCH_PS_ON _UxGT("Włącz zasilacz")
#define MSG_SWITCH_PS_OFF _UxGT("Wyłącz zasilacz")
#define MSG_EXTRUDE _UxGT("Ekstruzja")
#define MSG_RETRACT _UxGT("Wycofanie")
#define MSG_MOVE_AXIS _UxGT("Ruch osi")
#define MSG_BED_LEVELING _UxGT("Poziom. stołu")
#define MSG_MOVE_X _UxGT("Przesuń w X")
#define MSG_MOVE_Y _UxGT("Przesuń w Y")
#define MSG_MOVE_Z _UxGT("Przesuń w Z")
#define MSG_MOVE_E _UxGT("Ekstruzja (os E)")
#define MSG_MOVE_01MM _UxGT("Przesuń co .1mm")
#define MSG_MOVE_1MM _UxGT("Przesuń co 1mm")
#define MSG_MOVE_10MM _UxGT("Przesuń co 10mm")
#define MSG_SPEED _UxGT("Predkość")
#define MSG_BED_Z _UxGT("Stół Z")
#define MSG_NOZZLE _UxGT("Dysza")
#define MSG_BED _UxGT("Stół")
#define MSG_FAN_SPEED _UxGT("Obroty wiatraka")
#define MSG_FLOW _UxGT("Przepływ")
#define MSG_CONTROL _UxGT("Ustawienia")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Mnożnik")
#define MSG_AUTOTEMP _UxGT("Auto. temperatura")
#define MSG_ON _UxGT("Wł. ")
#define MSG_OFF _UxGT("Wył.")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Select")
#define MSG_ACC _UxGT("Przyśpieszenie")
#define MSG_JERK _UxGT("Zryw")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Zryw Va")
#define MSG_VB_JERK _UxGT("Zryw Vb")
#define MSG_VC_JERK _UxGT("Zryw Vc")
#else #else
#include "language_pl-HD44780.h" #define MSG_VA_JERK _UxGT("Zryw Vx")
#define MSG_VB_JERK _UxGT("Zryw Vy")
#define MSG_VC_JERK _UxGT("Zryw Vz")
#endif
#define MSG_VE_JERK _UxGT("Zryw Ve")
#define MSG_VMAX _UxGT("Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("Vskok min")
#define MSG_ACCELERATION MSG_ACC
#define MSG_AMAX _UxGT("Amax")
#define MSG_A_RETRACT _UxGT("A-wycofanie")
#define MSG_A_TRAVEL _UxGT("A-przesuń.")
#define MSG_STEPS_PER_MM _UxGT("kroki/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("krokiA/mm")
#define MSG_BSTEPS _UxGT("krokiB/mm")
#define MSG_CSTEPS _UxGT("krokiC/mm")
#else
#define MSG_ASTEPS _UxGT("krokiX/mm")
#define MSG_BSTEPS _UxGT("krokiY/mm")
#define MSG_CSTEPS _UxGT("krokiZ/mm")
#endif
#define MSG_ESTEPS _UxGT("krokiE/mm")
#define MSG_E1STEPS _UxGT("krokiE1/mm")
#define MSG_E2STEPS _UxGT("krokiE2/mm")
#define MSG_E3STEPS _UxGT("krokiE3/mm")
#define MSG_E4STEPS _UxGT("krokiE4/mm")
#define MSG_E5STEPS _UxGT("krokiE5/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Ruch")
#define MSG_FILAMENT _UxGT("Filament")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E w mm3")
#define MSG_FILAMENT_DIAM _UxGT("Śr. fil.")
#define MSG_CONTRAST _UxGT("Kontrast LCD")
#define MSG_STORE_EEPROM _UxGT("Zapisz w pamięci")
#define MSG_LOAD_EEPROM _UxGT("Wczytaj z pamięci")
#define MSG_RESTORE_FAILSAFE _UxGT("Ustaw. fabryczne")
#define MSG_REFRESH _UxGT("Odswież")
#define MSG_WATCH _UxGT("Ekran główny")
#define MSG_PREPARE _UxGT("Przygotuj")
#define MSG_TUNE _UxGT("Strojenie")
#define MSG_PAUSE_PRINT _UxGT("Pauza")
#define MSG_RESUME_PRINT _UxGT("Wznowienie")
#define MSG_STOP_PRINT _UxGT("Stop")
#define MSG_CARD_MENU _UxGT("Karta SD")
#define MSG_NO_CARD _UxGT("Brak karty")
#define MSG_DWELL _UxGT("Uśpij...")
#define MSG_USERWAIT _UxGT("Oczekiwanie...")
#define MSG_RESUMING _UxGT("Wznawianie druku")
#define MSG_PRINT_ABORTED _UxGT("Druk przerwany")
#define MSG_NO_MOVE _UxGT("Brak ruchu")
#define MSG_KILLED _UxGT("Ubity. ")
#define MSG_STOPPED _UxGT("Zatrzymany. ")
#define MSG_CONTROL_RETRACT _UxGT("Wycofaj mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Z Wycof. mm")
#define MSG_CONTROL_RETRACTF _UxGT("Wycofaj V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Skok Z mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Cof. wycof. mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Z Cof. wyc. mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Cof. wycof. V")
#define MSG_AUTORETRACT _UxGT("Auto. wycofanie")
#define MSG_FILAMENTCHANGE _UxGT("Zmień filament")
#define MSG_INIT_SDCARD _UxGT("Inicjal. karty SD")
#define MSG_CNG_SDCARD _UxGT("Zmiana karty SD")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z za stołem")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("Reset BLTouch")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET _UxGT("Offset Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Błąd krańcówki")
#define MSG_HEATING_FAILED_LCD _UxGT("Rozgrz. nieudane")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Błąd temperatury")
#define MSG_THERMAL_RUNAWAY _UxGT("Zanik temp.")
#define MSG_ERR_MAXTEMP _UxGT("Err max temp")
#define MSG_ERR_MINTEMP _UxGT("Err min temp")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err max temp stołu")
#define MSG_ERR_MINTEMP_BED _UxGT("Err min temp stołu")
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
#define MSG_HALTED _UxGT("Drukarka zatrzym.")
#define MSG_PLEASE_RESET _UxGT("Proszę zresetować")
#define MSG_SHORT_DAY _UxGT("d") // One character only
#define MSG_SHORT_HOUR _UxGT("g") // One character only
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
#define MSG_HEATING _UxGT("Rozgrzewanie...")
#define MSG_HEATING_COMPLETE _UxGT("Rozgrzano")
#define MSG_BED_HEATING _UxGT("Rozgrzewanie stołu...")
#define MSG_BED_DONE _UxGT("Rozgrzano stół")
#define MSG_DELTA_CALIBRATE _UxGT("Kalibrowanie Delty")
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibruj X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibruj Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibruj Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibruj środek")
#define MSG_INFO_MENU _UxGT("O drukarce")
#define MSG_INFO_PRINTER_MENU _UxGT("Info drukarki")
#define MSG_INFO_STATS_MENU _UxGT("Statystyki")
#define MSG_INFO_BOARD_MENU _UxGT("Board Info")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistory")
#define MSG_INFO_EXTRUDERS _UxGT("Ekstrudery")
#define MSG_INFO_BAUDRATE _UxGT("Predkość USB")
#define MSG_INFO_PROTOCOL _UxGT("Protokół")
#define MSG_CASE_LIGHT _UxGT("Oświetlenie")
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukończono")
#define MSG_INFO_PRINT_TIME _UxGT("Czas druku")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdł. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Użyty fil.")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Wydrukowano")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Ukończono")
#define MSG_INFO_PRINT_TIME _UxGT("Razem")
#define MSG_INFO_PRINT_LONGEST _UxGT("Najdł. druk")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Użyty fil.")
#endif #endif
#endif // LANGUAGE_PL_H #define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
#define MSG_INFO_PSU _UxGT("Zasilacz")
#define MSG_DRIVE_STRENGTH _UxGT("Siła silnika")
#define MSG_DAC_PERCENT _UxGT("Siła %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Zapisz DAC EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("ZMIEŃ FILAMENT")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("ZMIEŃ OPCJE:")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Wznów drukowanie")
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Czekam na ")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("zmianę filamentu")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("wyjęcie filamentu")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Włóz filament")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("i naciśnij przycisk")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("aby kontynuować...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("włożenie filamentu")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Czekam na")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("wznowienie druku")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Proszę czekać...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Wysuwanie...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Włóż i naciśnij prz.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Ładowanie...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Wznowienie...")
#endif // LCD_HEIGHT < 4
#endif // LANGUAGE_PL_DOGM_H

View file

@ -22,163 +22,165 @@
/** /**
* Portuguese (Brazil) * Portuguese (Brazil)
* UTF-8 for Graphical Display
* *
* LCD Menu Messages * LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html * See also http://marlinfw.org/docs/development/lcd_language.html
* *
*/ */
#ifndef LANGUAGE_PT_BR_H #ifndef LANGUAGE_PT_BR_UTF_H
#define LANGUAGE_PT_BR_H #define LANGUAGE_PT_BR_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1 #define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7 #define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME " pronto." #define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.")
#define MSG_SD_INSERTED "Cartao inserido" #define MSG_SD_INSERTED _UxGT("Cartão inserido")
#define MSG_SD_REMOVED "Cartao removido" #define MSG_SD_REMOVED _UxGT("Cartão removido")
#define MSG_MAIN "Menu principal" #define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART "Autostart" #define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS "Desabi. motores" #define MSG_DISABLE_STEPPERS _UxGT("Desabi. motores")
#define MSG_AUTO_HOME "Ir para origen" #define MSG_AUTO_HOME _UxGT("Ir para origen")
#define MSG_LEVEL_BED_HOMING "Homing XYZ" #define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING "Click to Begin" #define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE "Leveling Done!" #define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#define MSG_SET_HOME_OFFSETS "Ajustar Jogo" #define MSG_SET_HOME_OFFSETS _UxGT("Ajustar Jogo")
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN "Ajustar orig." #define MSG_SET_ORIGIN _UxGT("Ajustar orig.")
#define MSG_PREHEAT_1 "Pre-aquecer PLA" #define MSG_PREHEAT_1 _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_N "Pre-aquecer PLA" #define MSG_PREHEAT_1_N _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_ALL "Pre-aq.Todo PLA" #define MSG_PREHEAT_1_ALL _UxGT("Pre-aq.Todo PLA")
#define MSG_PREHEAT_1_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base" #define MSG_PREHEAT_1_BEDONLY _UxGT("Pre-aq. PLA ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_1_SETTINGS "Ajustar PLA" #define MSG_PREHEAT_1_SETTINGS _UxGT("Ajustar PLA")
#define MSG_PREHEAT_2 "Pre-aquecer ABS" #define MSG_PREHEAT_2 _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_N "Pre-aquecer ABS" #define MSG_PREHEAT_2_N _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_ALL "Pre-aq.Todo ABS" #define MSG_PREHEAT_2_ALL _UxGT("Pre-aq.Todo ABS")
#define MSG_PREHEAT_2_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base" #define MSG_PREHEAT_2_BEDONLY _UxGT("Pre-aq. ABS ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_2_SETTINGS "Ajustar ABS" #define MSG_PREHEAT_2_SETTINGS _UxGT("Ajustar ABS")
#define MSG_COOLDOWN "Esfriar" #define MSG_COOLDOWN _UxGT("Esfriar")
#define MSG_SWITCH_PS_ON "Ligar" #define MSG_SWITCH_PS_ON _UxGT("Ligar")
#define MSG_SWITCH_PS_OFF "Desligar" #define MSG_SWITCH_PS_OFF _UxGT("Desligar")
#define MSG_EXTRUDE "Extrudar" #define MSG_EXTRUDE _UxGT("Extrudar")
#define MSG_RETRACT "Retrair" #define MSG_RETRACT _UxGT("Retrair")
#define MSG_MOVE_AXIS "Mover eixo" #define MSG_MOVE_AXIS _UxGT("Mover eixo")
#define MSG_MOVE_X "Mover X" #define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y "Mover Y" #define MSG_MOVE_Y _UxGT("Mover Y")
#define MSG_MOVE_Z "Mover Z" #define MSG_MOVE_Z _UxGT("Mover Z")
#define MSG_MOVE_E "Mover Extrusor" #define MSG_MOVE_E _UxGT("Mover Extrusor")
#define MSG_MOVE_01MM "Mover 0.1mm" #define MSG_MOVE_01MM _UxGT("Mover 0.1mm")
#define MSG_MOVE_1MM "Mover 1mm" #define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM "Mover 10mm" #define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED "Velocidade" #define MSG_SPEED _UxGT("Velocidade")
#define MSG_BED_Z "Base Z" #define MSG_BED_Z _UxGT("Base Z")
#define MSG_NOZZLE LCD_STR_THERMOMETER " Bocal" #define MSG_NOZZLE LCD_STR_THERMOMETER _UxGT(" Bocal")
#define MSG_BED LCD_STR_THERMOMETER " Base" #define MSG_BED LCD_STR_THERMOMETER _UxGT(" Base")
#define MSG_FAN_SPEED "Vel. Ventoinha" #define MSG_FAN_SPEED _UxGT("Vel. Ventoinha")
#define MSG_FLOW "Fluxo" #define MSG_FLOW _UxGT("Fluxo")
#define MSG_CONTROL "Controle" #define MSG_CONTROL _UxGT("Controle")
#define MSG_MIN LCD_STR_THERMOMETER " Min" #define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER " Max" #define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact" #define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Fact")
#define MSG_AUTOTEMP "Temp. Automatica" #define MSG_AUTOTEMP _UxGT("Temp. Automática")
#define MSG_ON "Ligado " #define MSG_ON _UxGT("Ligado ")
#define MSG_OFF "Desligado" #define MSG_OFF _UxGT("Desligado")
#define MSG_PID_P "PID-P" #define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I "PID-I" #define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D "PID-D" #define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C "PID-C" #define MSG_PID_C _UxGT("PID-C")
#define MSG_ACC "Acc" #define MSG_ACC _UxGT("Acc")
#define MSG_JERK "Jogo" #define MSG_JERK _UxGT("Jogo")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_VA_JERK "jogo VA" #define MSG_VA_JERK _UxGT("jogo VA")
#define MSG_VB_JERK "jogo VB" #define MSG_VB_JERK _UxGT("jogo VB")
#define MSG_VC_JERK "jogo VC" #define MSG_VC_JERK _UxGT("jogo VC")
#else #else
#define MSG_VA_JERK "jogo VX" #define MSG_VA_JERK _UxGT("jogo VX")
#define MSG_VB_JERK "jogo VY" #define MSG_VB_JERK _UxGT("jogo VY")
#define MSG_VC_JERK "jogo VZ" #define MSG_VC_JERK _UxGT("jogo VZ")
#endif #endif
#define MSG_VE_JERK "jogo VE" #define MSG_VE_JERK _UxGT("jogo VE")
#define MSG_VMAX " Vmax " #define MSG_VMAX _UxGT(" Vmax ")
#define MSG_VMIN "Vmin" #define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN "VTrav min" #define MSG_VTRAV_MIN _UxGT("VTrav min")
#define MSG_AMAX "Amax " #define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT "Retrair A" #define MSG_A_RETRACT _UxGT("Retrair A")
#define MSG_A_TRAVEL "A-movimento" #define MSG_A_TRAVEL _UxGT("A-movimento")
#define MSG_STEPS_PER_MM "Passo/mm" #define MSG_STEPS_PER_MM _UxGT("Passo/mm")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_ASTEPS "A/mm" #define MSG_ASTEPS _UxGT("A/mm")
#define MSG_BSTEPS "B/mm" #define MSG_BSTEPS _UxGT("B/mm")
#define MSG_CSTEPS "C/mm" #define MSG_CSTEPS _UxGT("C/mm")
#else #else
#define MSG_ASTEPS "X/mm" #define MSG_ASTEPS _UxGT("X/mm")
#define MSG_BSTEPS "Y/mm" #define MSG_BSTEPS _UxGT("Y/mm")
#define MSG_CSTEPS "Z/mm" #define MSG_CSTEPS _UxGT("Z/mm")
#endif #endif
#define MSG_ESTEPS "E/mm" #define MSG_ESTEPS _UxGT("E/mm")
#define MSG_E1STEPS "E1/mm" #define MSG_E1STEPS _UxGT("E1/mm")
#define MSG_E2STEPS "E2/mm" #define MSG_E2STEPS _UxGT("E2/mm")
#define MSG_E3STEPS "E3/mm" #define MSG_E3STEPS _UxGT("E3/mm")
#define MSG_E4STEPS "E4/mm" #define MSG_E4STEPS _UxGT("E4/mm")
#define MSG_E5STEPS "E5/mm" #define MSG_E5STEPS _UxGT("E5/mm")
#define MSG_TEMPERATURE "Temperatura" #define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION "Movimento" #define MSG_MOTION _UxGT("Movimento")
#define MSG_FILAMENT "Filamento" #define MSG_FILAMENT _UxGT("Filamento")
#define MSG_VOLUMETRIC_ENABLED "Extr. em mm3" #define MSG_VOLUMETRIC_ENABLED _UxGT("Extr. em mm3")
#define MSG_FILAMENT_DIAM "Diametro Fil." #define MSG_FILAMENT_DIAM _UxGT("Diametro Fil.")
#define MSG_CONTRAST "Contraste" #define MSG_CONTRAST _UxGT("Contraste")
#define MSG_STORE_EEPROM "Salvar" #define MSG_STORE_EEPROM _UxGT("Salvar")
#define MSG_LOAD_EEPROM "Ler" #define MSG_LOAD_EEPROM _UxGT("Ler")
#define MSG_RESTORE_FAILSAFE "Rest. de emerg." #define MSG_RESTORE_FAILSAFE _UxGT("Rest. de emerg.")
#define MSG_REFRESH LCD_STR_REFRESH " Restaurar" #define MSG_REFRESH LCD_STR_REFRESH _UxGT(" Restaurar")
#define MSG_WATCH "Monitorar" #define MSG_WATCH _UxGT("Monitorar")
#define MSG_PREPARE "Preparar" #define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE "Afinar" #define MSG_TUNE _UxGT("Afinar")
#define MSG_PAUSE_PRINT "Pausar impressao" #define MSG_PAUSE_PRINT _UxGT("Pausar impressão")
#define MSG_RESUME_PRINT "Resumir impressao" #define MSG_RESUME_PRINT _UxGT("Resumir impressão")
#define MSG_STOP_PRINT "Parar impressao" #define MSG_STOP_PRINT _UxGT("Parar impressão")
#define MSG_CARD_MENU "Imprimir do SD" #define MSG_CARD_MENU _UxGT("Imprimir do SD")
#define MSG_NO_CARD "Sem cartao SD" #define MSG_NO_CARD _UxGT("Sem cartão SD")
#define MSG_DWELL "Repouso..." #define MSG_DWELL _UxGT("Repouso...")
#define MSG_USERWAIT "Esperando ordem" #define MSG_USERWAIT _UxGT("Esperando ordem")
#define MSG_RESUMING "Resumindo Impres." #define MSG_RESUMING _UxGT("Resumindo Impres.")
#define MSG_PRINT_ABORTED "Impres. Abortada." #define MSG_PRINT_ABORTED _UxGT("Impres. Abortada.")
#define MSG_NO_MOVE "Sem movimento" #define MSG_NO_MOVE _UxGT("Sem movimento")
#define MSG_KILLED "PARADA DE EMERG." #define MSG_KILLED _UxGT("PARADA DE EMERG.")
#define MSG_STOPPED "PARADA. " #define MSG_STOPPED _UxGT("PARADA. ")
#define MSG_CONTROL_RETRACT "Retrair mm" #define MSG_CONTROL_RETRACT _UxGT("Retrair mm")
#define MSG_CONTROL_RETRACT_SWAP "Retrair Troca mm" #define MSG_CONTROL_RETRACT_SWAP _UxGT("Retrair Troca mm")
#define MSG_CONTROL_RETRACTF "Retrair V" #define MSG_CONTROL_RETRACTF _UxGT("Retrair V")
#define MSG_CONTROL_RETRACT_ZLIFT "Levantar mm" #define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Levantar mm")
#define MSG_CONTROL_RETRACT_RECOVER "Des Retrair mm" #define MSG_CONTROL_RETRACT_RECOVER _UxGT("Des Retrair mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Des RetTroca mm" #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Des RetTroca mm")
#define MSG_CONTROL_RETRACT_RECOVERF "Des Retrair V" #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Des Retrair V")
#define MSG_AUTORETRACT "Retracao Autom." #define MSG_AUTORETRACT _UxGT("Retração Autom.")
#define MSG_FILAMENTCHANGE "Trocar Filamento" #define MSG_FILAMENTCHANGE _UxGT("Trocar Filamento")
#define MSG_INIT_SDCARD "Iniciar SD" #define MSG_INIT_SDCARD _UxGT("Iniciar SD")
#define MSG_CNG_SDCARD "Trocar SD" #define MSG_CNG_SDCARD _UxGT("Trocar SD")
#define MSG_ZPROBE_OUT "Son. fora da mesa" #define MSG_ZPROBE_OUT _UxGT("Son. fora da mesa")
#define MSG_HOME "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST "first" #define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET "Deslocamento no Z" #define MSG_ZPROBE_ZOFFSET _UxGT("Deslocamento no Z")
#define MSG_BABYSTEP_X "Passinho X" #define MSG_BABYSTEP_X _UxGT("Passinho X")
#define MSG_BABYSTEP_Y "Passinho Y" #define MSG_BABYSTEP_Y _UxGT("Passinho Y")
#define MSG_BABYSTEP_Z "Passinho Z" #define MSG_BABYSTEP_Z _UxGT("Passinho Z")
#define MSG_ENDSTOP_ABORT "Fim de Curso" #define MSG_ENDSTOP_ABORT _UxGT("Fim de Curso")
#define MSG_HEATING_FAILED_LCD "Aquecimento falhou" #define MSG_HEATING_FAILED_LCD _UxGT("Aquecimento falhou")
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP" #define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP")
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY" #define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY")
#define MSG_ERR_MAXTEMP "Err: T Maxima" #define MSG_ERR_MAXTEMP _UxGT("Err: T Máxima")
#define MSG_ERR_MINTEMP "Err: T Minima" #define MSG_ERR_MINTEMP _UxGT("Err: T Mínima")
#define MSG_ERR_MAXTEMP_BED "Err: T Base Maxima" #define MSG_ERR_MAXTEMP_BED _UxGT("Err: T Base Máxima")
#define MSG_ERR_MINTEMP_BED "Err: T Base Minima" #define MSG_ERR_MINTEMP_BED _UxGT("Err: T Base Mínima")
#define MSG_HEATING "Aquecendo..." #define MSG_HEATING _UxGT("Aquecendo...")
#define MSG_HEATING_COMPLETE "Aquecida." #define MSG_HEATING_COMPLETE _UxGT("Aquecida.")
#define MSG_BED_HEATING "Aquecendo base.." #define MSG_BED_HEATING _UxGT("Aquecendo base..")
#define MSG_BED_DONE "Base aquecida." #define MSG_BED_DONE _UxGT("Base aquecida.")
#define MSG_DELTA_CALIBRATE "Calibrar Delta" #define MSG_DELTA_CALIBRATE _UxGT("Calibrar Delta")
#define MSG_DELTA_CALIBRATE_X "Calibrar X" #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y "Calibrar Y" #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z "Calibrar Z" #define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro" #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#endif // LANGUAGE_PT_BR_H #endif // LANGUAGE_PT_BR_UTF_H

View file

@ -1,186 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese (Brazil)
* UTF-8 for Graphical Display
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_PT_BR_UTF_H
#define LANGUAGE_PT_BR_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.")
#define MSG_SD_INSERTED _UxGT("Cartão inserido")
#define MSG_SD_REMOVED _UxGT("Cartão removido")
#define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Desabi. motores")
#define MSG_AUTO_HOME _UxGT("Ir para origen")
#define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin")
#define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!")
#define MSG_SET_HOME_OFFSETS _UxGT("Ajustar Jogo")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets applied")
#define MSG_SET_ORIGIN _UxGT("Ajustar orig.")
#define MSG_PREHEAT_1 _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_N _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_ALL _UxGT("Pre-aq.Todo PLA")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Pre-aq. PLA ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Ajustar PLA")
#define MSG_PREHEAT_2 _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_N _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_ALL _UxGT("Pre-aq.Todo ABS")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Pre-aq. ABS ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Ajustar ABS")
#define MSG_COOLDOWN _UxGT("Esfriar")
#define MSG_SWITCH_PS_ON _UxGT("Ligar")
#define MSG_SWITCH_PS_OFF _UxGT("Desligar")
#define MSG_EXTRUDE _UxGT("Extrudar")
#define MSG_RETRACT _UxGT("Retrair")
#define MSG_MOVE_AXIS _UxGT("Mover eixo")
#define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y")
#define MSG_MOVE_Z _UxGT("Mover Z")
#define MSG_MOVE_E _UxGT("Mover Extrusor")
#define MSG_MOVE_01MM _UxGT("Mover 0.1mm")
#define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED _UxGT("Velocidade")
#define MSG_BED_Z _UxGT("Base Z")
#define MSG_NOZZLE LCD_STR_THERMOMETER _UxGT(" Bocal")
#define MSG_BED LCD_STR_THERMOMETER _UxGT(" Base")
#define MSG_FAN_SPEED _UxGT("Vel. Ventoinha")
#define MSG_FLOW _UxGT("Fluxo")
#define MSG_CONTROL _UxGT("Controle")
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Fact")
#define MSG_AUTOTEMP _UxGT("Temp. Automática")
#define MSG_ON _UxGT("Ligado ")
#define MSG_OFF _UxGT("Desligado")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_ACC _UxGT("Acc")
#define MSG_JERK _UxGT("Jogo")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("jogo VA")
#define MSG_VB_JERK _UxGT("jogo VB")
#define MSG_VC_JERK _UxGT("jogo VC")
#else
#define MSG_VA_JERK _UxGT("jogo VX")
#define MSG_VB_JERK _UxGT("jogo VY")
#define MSG_VC_JERK _UxGT("jogo VZ")
#endif
#define MSG_VE_JERK _UxGT("jogo VE")
#define MSG_VMAX _UxGT(" Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("VTrav min")
#define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("Retrair A")
#define MSG_A_TRAVEL _UxGT("A-movimento")
#define MSG_STEPS_PER_MM _UxGT("Passo/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("A/mm")
#define MSG_BSTEPS _UxGT("B/mm")
#define MSG_CSTEPS _UxGT("C/mm")
#else
#define MSG_ASTEPS _UxGT("X/mm")
#define MSG_BSTEPS _UxGT("Y/mm")
#define MSG_CSTEPS _UxGT("Z/mm")
#endif
#define MSG_ESTEPS _UxGT("E/mm")
#define MSG_E1STEPS _UxGT("E1/mm")
#define MSG_E2STEPS _UxGT("E2/mm")
#define MSG_E3STEPS _UxGT("E3/mm")
#define MSG_E4STEPS _UxGT("E4/mm")
#define MSG_E5STEPS _UxGT("E5/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Movimento")
#define MSG_FILAMENT _UxGT("Filamento")
#define MSG_VOLUMETRIC_ENABLED _UxGT("Extr. em mm3")
#define MSG_FILAMENT_DIAM _UxGT("Diametro Fil.")
#define MSG_CONTRAST _UxGT("Contraste")
#define MSG_STORE_EEPROM _UxGT("Salvar")
#define MSG_LOAD_EEPROM _UxGT("Ler")
#define MSG_RESTORE_FAILSAFE _UxGT("Rest. de emerg.")
#define MSG_REFRESH LCD_STR_REFRESH _UxGT(" Restaurar")
#define MSG_WATCH _UxGT("Monitorar")
#define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE _UxGT("Afinar")
#define MSG_PAUSE_PRINT _UxGT("Pausar impressão")
#define MSG_RESUME_PRINT _UxGT("Resumir impressão")
#define MSG_STOP_PRINT _UxGT("Parar impressão")
#define MSG_CARD_MENU _UxGT("Imprimir do SD")
#define MSG_NO_CARD _UxGT("Sem cartão SD")
#define MSG_DWELL _UxGT("Repouso...")
#define MSG_USERWAIT _UxGT("Esperando ordem")
#define MSG_RESUMING _UxGT("Resumindo Impres.")
#define MSG_PRINT_ABORTED _UxGT("Impres. Abortada.")
#define MSG_NO_MOVE _UxGT("Sem movimento")
#define MSG_KILLED _UxGT("PARADA DE EMERG.")
#define MSG_STOPPED _UxGT("PARADA. ")
#define MSG_CONTROL_RETRACT _UxGT("Retrair mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Retrair Troca mm")
#define MSG_CONTROL_RETRACTF _UxGT("Retrair V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Levantar mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("Des Retrair mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Des RetTroca mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("Des Retrair V")
#define MSG_AUTORETRACT _UxGT("Retração Autom.")
#define MSG_FILAMENTCHANGE _UxGT("Trocar Filamento")
#define MSG_INIT_SDCARD _UxGT("Iniciar SD")
#define MSG_CNG_SDCARD _UxGT("Trocar SD")
#define MSG_ZPROBE_OUT _UxGT("Son. fora da mesa")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET _UxGT("Deslocamento no Z")
#define MSG_BABYSTEP_X _UxGT("Passinho X")
#define MSG_BABYSTEP_Y _UxGT("Passinho Y")
#define MSG_BABYSTEP_Z _UxGT("Passinho Z")
#define MSG_ENDSTOP_ABORT _UxGT("Fim de Curso")
#define MSG_HEATING_FAILED_LCD _UxGT("Aquecimento falhou")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP")
#define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY")
#define MSG_ERR_MAXTEMP _UxGT("Err: T Máxima")
#define MSG_ERR_MINTEMP _UxGT("Err: T Mínima")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err: T Base Máxima")
#define MSG_ERR_MINTEMP_BED _UxGT("Err: T Base Mínima")
#define MSG_HEATING _UxGT("Aquecendo...")
#define MSG_HEATING_COMPLETE _UxGT("Aquecida.")
#define MSG_BED_HEATING _UxGT("Aquecendo base..")
#define MSG_BED_DONE _UxGT("Base aquecida.")
#define MSG_DELTA_CALIBRATE _UxGT("Calibrar Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#endif // LANGUAGE_PT_BR_UTF_H

View file

@ -22,169 +22,171 @@
/** /**
* Portuguese * Portuguese
* UTF-8 for Graphical Display
* *
* LCD Menu Messages * LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html * See also http://marlinfw.org/docs/development/lcd_language.html
* *
*/ */
#ifndef LANGUAGE_PT_H #ifndef LANGUAGE_PT_UTF_H
#define LANGUAGE_PT_H #define LANGUAGE_PT_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1 #define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7 #define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME " pronta." #define WELCOME_MSG MACHINE_NAME _UxGT(" pronta.")
#define MSG_SD_INSERTED "Cartao inserido" #define MSG_SD_INSERTED _UxGT("Cartão inserido")
#define MSG_SD_REMOVED "Cartao removido" #define MSG_SD_REMOVED _UxGT("Cartão removido")
#define MSG_MAIN "Menu principal" #define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART "Autostart" #define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS "Desactivar motores" #define MSG_DISABLE_STEPPERS _UxGT("Desactivar motores")
#define MSG_AUTO_HOME "Ir para origem" #define MSG_AUTO_HOME _UxGT("Ir para origem")
#define MSG_AUTO_HOME_X "Ir para origem X" #define MSG_AUTO_HOME_X _UxGT("Ir para origem X")
#define MSG_AUTO_HOME_Y "Ir para origem Y" #define MSG_AUTO_HOME_Y _UxGT("Ir para origem Y")
#define MSG_AUTO_HOME_Z "Ir para origem Z" #define MSG_AUTO_HOME_Z _UxGT("Ir para origem Z")
#define MSG_LEVEL_BED_HOMING "Indo para origem" #define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING "Click para iniciar" #define MSG_LEVEL_BED_WAITING _UxGT("Click para iniciar")
#define MSG_LEVEL_BED_NEXT_POINT "Proximo ponto" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo ponto")
#define MSG_LEVEL_BED_DONE "Pronto !" #define MSG_LEVEL_BED_DONE _UxGT("Pronto !")
#define MSG_SET_HOME_OFFSETS "Definir desvio" #define MSG_SET_HOME_OFFSETS _UxGT("Definir desvio")
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets aplicados")
#define MSG_SET_ORIGIN "Definir origem" #define MSG_SET_ORIGIN _UxGT("Definir origem")
#define MSG_PREHEAT_1 "Pre-aquecer PLA" #define MSG_PREHEAT_1 _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_N "Pre-aquecer PLA" #define MSG_PREHEAT_1_N _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_ALL "Pre-aq. PLA Tudo" #define MSG_PREHEAT_1_ALL _UxGT("Pre-aq. PLA Tudo")
#define MSG_PREHEAT_1_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base" #define MSG_PREHEAT_1_BEDONLY _UxGT("Pre-aq. PLA ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_1_SETTINGS "Definicoes PLA" #define MSG_PREHEAT_1_SETTINGS _UxGT("Definições PLA")
#define MSG_PREHEAT_2 "Pre-aquecer ABS" #define MSG_PREHEAT_2 _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_N "Pre-aquecer ABS " #define MSG_PREHEAT_2_N _UxGT("Pre-aquecer ABS ")
#define MSG_PREHEAT_2_ALL "Pre-aq. ABS Tudo" #define MSG_PREHEAT_2_ALL _UxGT("Pre-aq. ABS Tudo")
#define MSG_PREHEAT_2_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base" #define MSG_PREHEAT_2_BEDONLY _UxGT("Pre-aq. ABS ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_2_SETTINGS "Definicoes ABS" #define MSG_PREHEAT_2_SETTINGS _UxGT("Definições ABS")
#define MSG_COOLDOWN "Arrefecer" #define MSG_COOLDOWN _UxGT("Arrefecer")
#define MSG_SWITCH_PS_ON "Ligar" #define MSG_SWITCH_PS_ON _UxGT("Ligar")
#define MSG_SWITCH_PS_OFF "Desligar" #define MSG_SWITCH_PS_OFF _UxGT("Desligar")
#define MSG_EXTRUDE "Extrudir" #define MSG_EXTRUDE _UxGT("Extrudir")
#define MSG_RETRACT "Retrair" #define MSG_RETRACT _UxGT("Retrair")
#define MSG_MOVE_AXIS "Mover eixo" #define MSG_MOVE_AXIS _UxGT("Mover eixo")
#define MSG_MOVE_X "Mover X" #define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y "Mover Y" #define MSG_MOVE_Y _UxGT("Mover Y")
#define MSG_MOVE_Z "Mover Z" #define MSG_MOVE_Z _UxGT("Mover Z")
#define MSG_MOVE_E "Mover Extrusor" #define MSG_MOVE_E _UxGT("Mover Extrusor")
#define MSG_MOVE_01MM "Mover 0.1mm" #define MSG_MOVE_01MM _UxGT("Mover 0.1mm")
#define MSG_MOVE_1MM "Mover 1mm" #define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM "Mover 10mm" #define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED "Velocidade" #define MSG_SPEED _UxGT("Velocidade")
#define MSG_BED_Z "Base Z" #define MSG_BED_Z _UxGT("Base Z")
#define MSG_NOZZLE LCD_STR_THERMOMETER " Bico" #define MSG_NOZZLE _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Bico")
#define MSG_BED LCD_STR_THERMOMETER " Base" #define MSG_BED _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Base")
#define MSG_FAN_SPEED "Vel. ventoinha" #define MSG_FAN_SPEED _UxGT("Vel. ventoinha")
#define MSG_FLOW "Fluxo" #define MSG_FLOW _UxGT("Fluxo")
#define MSG_CONTROL "Controlo" #define MSG_CONTROL _UxGT("Controlo")
#define MSG_MIN LCD_STR_THERMOMETER " Min" #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX LCD_STR_THERMOMETER " Max" #define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact" #define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact")
#define MSG_AUTOTEMP "Temp. Automatica" #define MSG_AUTOTEMP _UxGT("Temp. Automática")
#define MSG_ON "On " #define MSG_ON _UxGT("On ")
#define MSG_OFF "Off" #define MSG_OFF _UxGT("Off")
#define MSG_PID_P "PID-P" #define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I "PID-I" #define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D "PID-D" #define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C "PID-C" #define MSG_PID_C _UxGT("PID-C")
#define MSG_ACC "Acc" #define MSG_ACC _UxGT("Acc")
#define MSG_JERK "Jerk" #define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_VA_JERK "Va-jerk" #define MSG_VA_JERK _UxGT("Va-jerk")
#define MSG_VB_JERK "Vb-jerk" #define MSG_VB_JERK _UxGT("Vb-jerk")
#define MSG_VC_JERK "Vc-jerk" #define MSG_VC_JERK _UxGT("Vc-jerk")
#else #else
#define MSG_VA_JERK "Vx-jerk" #define MSG_VA_JERK _UxGT("Vx-jerk")
#define MSG_VB_JERK "Vy-jerk" #define MSG_VB_JERK _UxGT("Vy-jerk")
#define MSG_VC_JERK "Vz-jerk" #define MSG_VC_JERK _UxGT("Vz-jerk")
#endif #endif
#define MSG_VE_JERK "Ve-jerk" #define MSG_VE_JERK _UxGT("Ve-jerk")
#define MSG_VMAX " Vmax " #define MSG_VMAX _UxGT(" Vmax ")
#define MSG_VMIN "Vmin" #define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN "VTrav min" #define MSG_VTRAV_MIN _UxGT("VTrav min")
#define MSG_AMAX "Amax " #define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT "A-retraccao" #define MSG_A_RETRACT _UxGT("A-retracção")
#define MSG_A_TRAVEL "A-movimento" #define MSG_A_TRAVEL _UxGT("A-movimento")
#define MSG_STEPS_PER_MM "Passo/mm" #define MSG_STEPS_PER_MM _UxGT("Passo/mm")
#if IS_KINEMATIC #if IS_KINEMATIC
#define MSG_ASTEPS "A passo/mm" #define MSG_ASTEPS _UxGT("A passo/mm")
#define MSG_BSTEPS "B passo/mm" #define MSG_BSTEPS _UxGT("B passo/mm")
#define MSG_CSTEPS "C passo/mm" #define MSG_CSTEPS _UxGT("C passo/mm")
#else #else
#define MSG_ASTEPS "X passo/mm" #define MSG_ASTEPS _UxGT("X passo/mm")
#define MSG_BSTEPS "Y passo/mm" #define MSG_BSTEPS _UxGT("Y passo/mm")
#define MSG_CSTEPS "Z passo/mm" #define MSG_CSTEPS _UxGT("Z passo/mm")
#endif #endif
#define MSG_ESTEPS "E passo/mm" #define MSG_ESTEPS _UxGT("E passo/mm")
#define MSG_E1STEPS "E1 passo/mm" #define MSG_E1STEPS _UxGT("E1 passo/mm")
#define MSG_E2STEPS "E2 passo/mm" #define MSG_E2STEPS _UxGT("E2 passo/mm")
#define MSG_E3STEPS "E3 passo/mm" #define MSG_E3STEPS _UxGT("E3 passo/mm")
#define MSG_E4STEPS "E4 passo/mm" #define MSG_E4STEPS _UxGT("E4 passo/mm")
#define MSG_E5STEPS "E5 passo/mm" #define MSG_E5STEPS _UxGT("E5 passo/mm")
#define MSG_TEMPERATURE "Temperatura" #define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION "Movimento" #define MSG_MOTION _UxGT("Movimento")
#define MSG_FILAMENT "Filamento" #define MSG_FILAMENT _UxGT("Filamento")
#define MSG_VOLUMETRIC_ENABLED "E em mm3" #define MSG_VOLUMETRIC_ENABLED _UxGT("E em mm3")
#define MSG_FILAMENT_DIAM "Fil. Diam." #define MSG_FILAMENT_DIAM _UxGT("Fil. Diam.")
#define MSG_CONTRAST "Contraste" #define MSG_CONTRAST _UxGT("Contraste")
#define MSG_STORE_EEPROM "Guardar na memoria" #define MSG_STORE_EEPROM _UxGT("Guardar na memoria")
#define MSG_LOAD_EEPROM "Carregar da memoria" #define MSG_LOAD_EEPROM _UxGT("Carregar da memoria")
#define MSG_RESTORE_FAILSAFE "Rest. de emergen." #define MSG_RESTORE_FAILSAFE _UxGT("Rest. de emergen.")
#define MSG_REFRESH LCD_STR_REFRESH " Recarregar" #define MSG_REFRESH LCD_STR_REFRESH _UxGT(" Recarregar")
#define MSG_WATCH "Monitorizar" #define MSG_WATCH _UxGT("Monitorizar")
#define MSG_PREPARE "Preparar" #define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE "Afinar" #define MSG_TUNE _UxGT("Afinar")
#define MSG_PAUSE_PRINT "Pausar impressao" #define MSG_PAUSE_PRINT _UxGT("Pausar impressão")
#define MSG_RESUME_PRINT "Retomar impressao" #define MSG_RESUME_PRINT _UxGT("Retomar impressão")
#define MSG_STOP_PRINT "Parar impressao" #define MSG_STOP_PRINT _UxGT("Parar impressão")
#define MSG_CARD_MENU "Imprimir do SD" #define MSG_CARD_MENU _UxGT("Imprimir do SD")
#define MSG_NO_CARD "Sem cartao SD" #define MSG_NO_CARD _UxGT("Sem cartão SD")
#define MSG_DWELL "Em espera..." #define MSG_DWELL _UxGT("Em espera...")
#define MSG_USERWAIT "A espera de ordem" #define MSG_USERWAIT _UxGT("Á espera de ordem")
#define MSG_RESUMING "Retomando impressao" #define MSG_RESUMING _UxGT("Retomando impressão")
#define MSG_PRINT_ABORTED "Impressao cancelada" #define MSG_PRINT_ABORTED _UxGT("Impressão cancelada")
#define MSG_NO_MOVE "Sem movimento" #define MSG_NO_MOVE _UxGT("Sem movimento")
#define MSG_KILLED "EMERGENCIA. " #define MSG_KILLED _UxGT("EMERGÊNCIA. ")
#define MSG_STOPPED "PARADO. " #define MSG_STOPPED _UxGT("PARADO. ")
#define MSG_CONTROL_RETRACT " Retrair mm" #define MSG_CONTROL_RETRACT _UxGT(" Retrair mm")
#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" #define MSG_CONTROL_RETRACT_SWAP _UxGT("Troca Retrair mm")
#define MSG_CONTROL_RETRACTF " Retrair V" #define MSG_CONTROL_RETRACTF _UxGT(" Retrair V")
#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" #define MSG_CONTROL_RETRACT_ZLIFT _UxGT(" Levantar mm")
#define MSG_CONTROL_RETRACT_RECOVER " DesRet mm" #define MSG_CONTROL_RETRACT_RECOVER _UxGT(" DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet mm" #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Troca DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" #define MSG_CONTROL_RETRACT_RECOVERF _UxGT(" DesRet V")
#define MSG_AUTORETRACT " AutoRetr." #define MSG_AUTORETRACT _UxGT(" AutoRetr.")
#define MSG_FILAMENTCHANGE "Trocar filamento" #define MSG_FILAMENTCHANGE _UxGT("Trocar filamento")
#define MSG_INIT_SDCARD "Inici. cartao SD" #define MSG_INIT_SDCARD _UxGT("Inici. cartão SD")
#define MSG_CNG_SDCARD "Trocar cartao SD" #define MSG_CNG_SDCARD _UxGT("Trocar cartão SD")
#define MSG_ZPROBE_OUT "Sensor fora/base" #define MSG_ZPROBE_OUT _UxGT("Sensor fora/base")
#define MSG_HOME "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST #define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST "first" #define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET "Desvio Z" #define MSG_ZPROBE_ZOFFSET _UxGT("Desvio Z")
#define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z "Babystep Z" #define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT "Fim de curso" #define MSG_ENDSTOP_ABORT _UxGT("Fim de curso")
#define MSG_HEATING_FAILED_LCD "Aquecimento falhou" #define MSG_HEATING_FAILED_LCD _UxGT("Aquecimento falhou")
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP" #define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP")
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY" #define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY")
#define MSG_ERR_MAXTEMP "Err: T Maxima" #define MSG_ERR_MAXTEMP _UxGT("Err: T Máxima")
#define MSG_ERR_MINTEMP "Err: T Minima" #define MSG_ERR_MINTEMP _UxGT("Err: T Mínima")
#define MSG_ERR_MAXTEMP_BED "Err: T Base Maxima" #define MSG_ERR_MAXTEMP_BED _UxGT("Err: T Base Máxima")
#define MSG_ERR_MINTEMP_BED "Err: T Base Minima" #define MSG_ERR_MINTEMP_BED _UxGT("Err: T Base Mínima")
#define MSG_HEATING "Aquecendo..." #define MSG_HEATING _UxGT("Aquecendo...")
#define MSG_HEATING_COMPLETE "Aquecida." #define MSG_HEATING_COMPLETE _UxGT("Aquecida.")
#define MSG_BED_HEATING "Aquecendo base.." #define MSG_BED_HEATING _UxGT("Aquecendo base..")
#define MSG_BED_DONE "Base aquecida." #define MSG_BED_DONE _UxGT("Base aquecida.")
#define MSG_DELTA_CALIBRATE "Calibracao Delta" #define MSG_DELTA_CALIBRATE _UxGT("Calibração Delta")
#define MSG_DELTA_CALIBRATE_X "Calibrar X" #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y "Calibrar Y" #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z "Calibrar Z" #define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro" #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#define MSG_LCD_ENDSTOPS "Fim de curso" #define MSG_LCD_ENDSTOPS _UxGT("Fim de curso")
#endif // LANGUAGE_PT_H #endif // LANGUAGE_PT_UTF_H

View file

@ -1,192 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese
* UTF-8 for Graphical Display
*
* LCD Menu Messages
* See also http://marlinfw.org/docs/development/lcd_language.html
*
*/
#ifndef LANGUAGE_PT_UTF_H
#define LANGUAGE_PT_UTF_H
#define MAPPER_C2C3
#define DISPLAY_CHARSET_ISO10646_1
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" pronta.")
#define MSG_SD_INSERTED _UxGT("Cartão inserido")
#define MSG_SD_REMOVED _UxGT("Cartão removido")
#define MSG_MAIN _UxGT("Menu principal")
#define MSG_AUTOSTART _UxGT("Autostart")
#define MSG_DISABLE_STEPPERS _UxGT("Desactivar motores")
#define MSG_AUTO_HOME _UxGT("Ir para origem")
#define MSG_AUTO_HOME_X _UxGT("Ir para origem X")
#define MSG_AUTO_HOME_Y _UxGT("Ir para origem Y")
#define MSG_AUTO_HOME_Z _UxGT("Ir para origem Z")
#define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem")
#define MSG_LEVEL_BED_WAITING _UxGT("Click para iniciar")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo ponto")
#define MSG_LEVEL_BED_DONE _UxGT("Pronto !")
#define MSG_SET_HOME_OFFSETS _UxGT("Definir desvio")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Offsets aplicados")
#define MSG_SET_ORIGIN _UxGT("Definir origem")
#define MSG_PREHEAT_1 _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_N _UxGT("Pre-aquecer PLA")
#define MSG_PREHEAT_1_ALL _UxGT("Pre-aq. PLA Tudo")
#define MSG_PREHEAT_1_BEDONLY _UxGT("Pre-aq. PLA ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_1_SETTINGS _UxGT("Definições PLA")
#define MSG_PREHEAT_2 _UxGT("Pre-aquecer ABS")
#define MSG_PREHEAT_2_N _UxGT("Pre-aquecer ABS ")
#define MSG_PREHEAT_2_ALL _UxGT("Pre-aq. ABS Tudo")
#define MSG_PREHEAT_2_BEDONLY _UxGT("Pre-aq. ABS ") LCD_STR_THERMOMETER _UxGT("Base")
#define MSG_PREHEAT_2_SETTINGS _UxGT("Definições ABS")
#define MSG_COOLDOWN _UxGT("Arrefecer")
#define MSG_SWITCH_PS_ON _UxGT("Ligar")
#define MSG_SWITCH_PS_OFF _UxGT("Desligar")
#define MSG_EXTRUDE _UxGT("Extrudir")
#define MSG_RETRACT _UxGT("Retrair")
#define MSG_MOVE_AXIS _UxGT("Mover eixo")
#define MSG_MOVE_X _UxGT("Mover X")
#define MSG_MOVE_Y _UxGT("Mover Y")
#define MSG_MOVE_Z _UxGT("Mover Z")
#define MSG_MOVE_E _UxGT("Mover Extrusor")
#define MSG_MOVE_01MM _UxGT("Mover 0.1mm")
#define MSG_MOVE_1MM _UxGT("Mover 1mm")
#define MSG_MOVE_10MM _UxGT("Mover 10mm")
#define MSG_SPEED _UxGT("Velocidade")
#define MSG_BED_Z _UxGT("Base Z")
#define MSG_NOZZLE _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Bico")
#define MSG_BED _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Base")
#define MSG_FAN_SPEED _UxGT("Vel. ventoinha")
#define MSG_FLOW _UxGT("Fluxo")
#define MSG_CONTROL _UxGT("Controlo")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min")
#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Max")
#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Fact")
#define MSG_AUTOTEMP _UxGT("Temp. Automática")
#define MSG_ON _UxGT("On ")
#define MSG_OFF _UxGT("Off")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_ACC _UxGT("Acc")
#define MSG_JERK _UxGT("Jerk")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Va-jerk")
#define MSG_VB_JERK _UxGT("Vb-jerk")
#define MSG_VC_JERK _UxGT("Vc-jerk")
#else
#define MSG_VA_JERK _UxGT("Vx-jerk")
#define MSG_VB_JERK _UxGT("Vy-jerk")
#define MSG_VC_JERK _UxGT("Vz-jerk")
#endif
#define MSG_VE_JERK _UxGT("Ve-jerk")
#define MSG_VMAX _UxGT(" Vmax ")
#define MSG_VMIN _UxGT("Vmin")
#define MSG_VTRAV_MIN _UxGT("VTrav min")
#define MSG_AMAX _UxGT("Amax ")
#define MSG_A_RETRACT _UxGT("A-retracção")
#define MSG_A_TRAVEL _UxGT("A-movimento")
#define MSG_STEPS_PER_MM _UxGT("Passo/mm")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("A passo/mm")
#define MSG_BSTEPS _UxGT("B passo/mm")
#define MSG_CSTEPS _UxGT("C passo/mm")
#else
#define MSG_ASTEPS _UxGT("X passo/mm")
#define MSG_BSTEPS _UxGT("Y passo/mm")
#define MSG_CSTEPS _UxGT("Z passo/mm")
#endif
#define MSG_ESTEPS _UxGT("E passo/mm")
#define MSG_E1STEPS _UxGT("E1 passo/mm")
#define MSG_E2STEPS _UxGT("E2 passo/mm")
#define MSG_E3STEPS _UxGT("E3 passo/mm")
#define MSG_E4STEPS _UxGT("E4 passo/mm")
#define MSG_E5STEPS _UxGT("E5 passo/mm")
#define MSG_TEMPERATURE _UxGT("Temperatura")
#define MSG_MOTION _UxGT("Movimento")
#define MSG_FILAMENT _UxGT("Filamento")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E em mm3")
#define MSG_FILAMENT_DIAM _UxGT("Fil. Diam.")
#define MSG_CONTRAST _UxGT("Contraste")
#define MSG_STORE_EEPROM _UxGT("Guardar na memoria")
#define MSG_LOAD_EEPROM _UxGT("Carregar da memoria")
#define MSG_RESTORE_FAILSAFE _UxGT("Rest. de emergen.")
#define MSG_REFRESH LCD_STR_REFRESH _UxGT(" Recarregar")
#define MSG_WATCH _UxGT("Monitorizar")
#define MSG_PREPARE _UxGT("Preparar")
#define MSG_TUNE _UxGT("Afinar")
#define MSG_PAUSE_PRINT _UxGT("Pausar impressão")
#define MSG_RESUME_PRINT _UxGT("Retomar impressão")
#define MSG_STOP_PRINT _UxGT("Parar impressão")
#define MSG_CARD_MENU _UxGT("Imprimir do SD")
#define MSG_NO_CARD _UxGT("Sem cartão SD")
#define MSG_DWELL _UxGT("Em espera...")
#define MSG_USERWAIT _UxGT("Á espera de ordem")
#define MSG_RESUMING _UxGT("Retomando impressão")
#define MSG_PRINT_ABORTED _UxGT("Impressão cancelada")
#define MSG_NO_MOVE _UxGT("Sem movimento")
#define MSG_KILLED _UxGT("EMERGÊNCIA. ")
#define MSG_STOPPED _UxGT("PARADO. ")
#define MSG_CONTROL_RETRACT _UxGT(" Retrair mm")
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Troca Retrair mm")
#define MSG_CONTROL_RETRACTF _UxGT(" Retrair V")
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT(" Levantar mm")
#define MSG_CONTROL_RETRACT_RECOVER _UxGT(" DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Troca DesRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT(" DesRet V")
#define MSG_AUTORETRACT _UxGT(" AutoRetr.")
#define MSG_FILAMENTCHANGE _UxGT("Trocar filamento")
#define MSG_INIT_SDCARD _UxGT("Inici. cartão SD")
#define MSG_CNG_SDCARD _UxGT("Trocar cartão SD")
#define MSG_ZPROBE_OUT _UxGT("Sensor fora/base")
#define MSG_HOME _UxGT("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
#define MSG_FIRST _UxGT("first")
#define MSG_ZPROBE_ZOFFSET _UxGT("Desvio Z")
#define MSG_BABYSTEP_X _UxGT("Babystep X")
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#define MSG_ENDSTOP_ABORT _UxGT("Fim de curso")
#define MSG_HEATING_FAILED_LCD _UxGT("Aquecimento falhou")
#define MSG_ERR_REDUNDANT_TEMP _UxGT("Err: REDUNDANT TEMP")
#define MSG_THERMAL_RUNAWAY _UxGT("THERMAL RUNAWAY")
#define MSG_ERR_MAXTEMP _UxGT("Err: T Máxima")
#define MSG_ERR_MINTEMP _UxGT("Err: T Mínima")
#define MSG_ERR_MAXTEMP_BED _UxGT("Err: T Base Máxima")
#define MSG_ERR_MINTEMP_BED _UxGT("Err: T Base Mínima")
#define MSG_HEATING _UxGT("Aquecendo...")
#define MSG_HEATING_COMPLETE _UxGT("Aquecida.")
#define MSG_BED_HEATING _UxGT("Aquecendo base..")
#define MSG_BED_DONE _UxGT("Base aquecida.")
#define MSG_DELTA_CALIBRATE _UxGT("Calibração Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Calibrar Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrar Centro")
#define MSG_LCD_ENDSTOPS _UxGT("Fim de curso")
#endif // LANGUAGE_PT_UTF_H

View file

@ -34,10 +34,6 @@
#define DISPLAY_CHARSET_ISO10646_TR #define DISPLAY_CHARSET_ISO10646_TR
#define CHARSIZE 2 #define CHARSIZE 2
#if DISABLED(DOGLCD)
#error "Turkish needs a graphical display."
#endif
#define WELCOME_MSG MACHINE_NAME _UxGT(" hazır.") // hazır. #define WELCOME_MSG MACHINE_NAME _UxGT(" hazır.") // hazır.
#define MSG_SD_INSERTED _UxGT("SD Yerleşti.") // SD Yerleşti. #define MSG_SD_INSERTED _UxGT("SD Yerleşti.") // SD Yerleşti.
#define MSG_SD_REMOVED _UxGT("SD Çıkarıldı.") // SD Çıkarıldı. #define MSG_SD_REMOVED _UxGT("SD Çıkarıldı.") // SD Çıkarıldı.

66
Marlin/src/lcd/lcdprint.h Normal file
View file

@ -0,0 +1,66 @@
/**
* @file lcdprint.h
* @brief LCD print api
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2016-08-19
* @copyright GPL/BSD
*/
#ifndef _LCDPRINT_H
#define _LCDPRINT_H
#include "fontutils.h"
#if DISABLED(DOGLCD)
#define _UxGT(a) a
#else
#include "u8g_fontutf8.h"
#endif
#define PRINTABLE(C) (((C) & 0xC0u) != 0x80u)
#ifdef __cplusplus
extern "C" {
#endif
int lcd_glyph_height(void);
int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length);
/**
* @brief Draw a UTF-8 string
*
* @param utf8_str : the UTF-8 string
* @param max_length : the pixel length of the string allowed (or number of slots in HD44780)
*
* @return the pixel width
*
* Draw a UTF-8 string
*/
int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length);
/**
* @brief Draw a ROM UTF-8 string
*
* @param utf8_str_P : the ROM UTF-8 string
* @param max_length : the pixel length of the string allowed (or number of slots in HD44780)
*
* @return the pixel width
*
* Draw a ROM UTF-8 string
*/
int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length);
void lcd_moveto(int col, int row);
#ifdef __cplusplus
}
#endif
#define lcd_put_u8str_rom(str) lcd_put_u8str_max_rom(str, PIXEL_LEN_NOLIMIT)
inline int lcd_put_u8str(const char* str) { return lcd_put_u8str_max(str, PIXEL_LEN_NOLIMIT); }
inline int lcd_put_wchar(wchar_t c) { return lcd_put_wchar_max(c, PIXEL_LEN_NOLIMIT); }
#endif // _LCDPRINT_H

View file

@ -0,0 +1,1090 @@
/**
* @file lcdprint_hd44780.c
* @brief LCD print api for HD44780
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2016-08-19
* @copyright GPL/BSD
*/
/**
* Due to the limitation of the HD44780 hardware, the current available LCD modules can only support
* Western(English), Cyrillic(Russian), Kana(Japanese) charsets.
*/
#include "../inc/MarlinConfigPre.h"
#include "../inc/MarlinConfig.h"
#if ENABLED(ULTRA_LCD)
#include "ultralcd.h"
#include "../Marlin.h"
#if DISABLED(DOGLCD)
#include <string.h>
#include "fontutils.h"
#include "lcdprint.h"
#if defined(ARDUINO)
#include "ultralcd_common_HD44780.h"
#ifndef LCD_CLASS
#include <LiquidCrystal.h>
#define LCD_CLASS LiquidCrystal
#endif
extern LCD_CLASS lcd;
LCD_CLASS *plcd = &lcd;
#define _lcd_write(a) plcd->write(a)
#define _lcd_setcursor(col, row) plcd->setCursor((col), (row));
#else
#define _lcd_write(a) TRACE("Write LCD: %c (%d)", (a), (int)(a));
#define _lcd_setcursor(col, row) TRACE("Set cursor LCD: (%d,%d)", (col), (row));
#endif
int lcd_glyph_height(void) { return 1; }
////////////////////////////////////////////////////////////
typedef struct _hd44780_charmap_t {
wchar_t uchar; // the unicode char
uint8_t idx; // the glyph of the char in the ROM
uint8_t idx2; // the char used to be combined with the idx to simulate a single char
} hd44780_charmap_t;
#if defined(__AVR__)
#define IV(a) U##a
#else
#define IV(a) L##a
#endif
static const hd44780_charmap_t g_hd44780_charmap_device[] PROGMEM = {
// sorted by uchar:
#if DISPLAY_CHARSET_HD44780 == JAPANESE
{IV('¢'), 0xEC, 0}, // A2
{IV('°'), 0xDF, 0}, // B0, Marlin special: '°' LCD_STR_DEGREE (0x09)
{IV('ä'), 0xE1, 0}, // E4
{IV('ö'), 0xEF, 0}, // F6
{IV('÷'), 0xFD, 0}, // 00F7
{IV('ü'), 0xF5, 0}, // 00FC
{IV('ˣ'), 0xEB, 0}, // 02E3
{IV('·'), 0xA5, 0}, // 0387
{IV('Ώ'), 0xF4, 0}, // 038F
{IV('Θ'), 0xF2, 0}, // 0398, Theta
{IV('Ξ'), 0xE3, 0}, // 039E, Xi
{IV('Σ'), 0xF6, 0}, // 03A3, Sigma
{IV('Ω'), 0xF4, 0}, // 03A9, Omega
{IV('ά'), 0xE0, 0}, // 03AC
{IV('έ'), 0xE3, 0}, // 03AD
{IV('α'), 0xE0, 0}, // 03B1, alpha
{IV('β'), 0xE2, 0}, // 03B2, beta
{IV('ε'), 0xE3, 0}, // 03B5, epsilon
{IV('θ'), 0xF2, 0}, // 03B8, theta
{IV('μ'), 0xE4, 0}, // 03BC, mu
{IV('ξ'), 0xE3, 0}, // 03BE, xi
{IV('π'), 0xF7, 0}, // 03C0, pi
{IV('ρ'), 0xE6, 0}, // 03C1, rho
{IV('σ'), 0xE5, 0}, // 03C3, sigma
{IV(''), 0x7F, 0}, // 2190
{IV(''), 0x7E, 0}, // 2192, Marlin special: '⮈⮉⮊⮋➤→' LCD_STR_ARROW_RIGHT (0x03)
{IV(''), 0xE8, 0}, // 221A
{IV(''), 0xF3, 0}, // 221E
{IV(''), 0xFF, 0}, // 2588
//{IV(''), 0xA0, 0},
{IV(''), 0xA1, 0},
{IV(''), 0xA2, 0},
{IV(''), 0xA3, 0},
{IV(''), 0xDE, 0}, // ‶
{IV(''), 0xDF, 0}, // '〫'
{IV(''), '=', 0},
{IV(''), 0xA7, 0},
{IV(''), 0xB1, 0},
{IV(''), 0xA8, 0},
{IV(''), 0xB2, 0},
{IV(''), 0xA9, 0},
{IV(''), 0xB3, 0},
{IV(''), 0xAA, 0},
{IV(''), 0xB4, 0},
{IV(''), 0xAB, 0},
{IV(''), 0xB5, 0},
{IV(''), 0xB6, 0},
{IV(''), 0xB6, 0xDE},
{IV(''), 0xB7, 0},
{IV(''), 0xB7, 0xDE}, //
{IV(''), 0xB8, 0},
{IV(''), 0xB8, 0xDE},
{IV(''), 0xB9, 0},
{IV(''), 0xB9, 0xDE},
{IV(''), 0xBA, 0},
{IV(''), 0xBA, 0xDE},
{IV(''), 0xBB, 0},
{IV(''), 0xBB, 0xDE},
{IV(''), 0xBC, 0},
{IV(''), 0xBC, 0xDE},
{IV(''), 0xBD, 0},
{IV(''), 0xBD, 0xDE},
{IV(''), 0xBE, 0},
{IV(''), 0xBE, 0xDE},
{IV(''), 0xBF, 0},
{IV(''), 0xBF, 0xDE},
{IV(''), 0xC0, 0},
{IV(''), 0xC0, 0xDE},
{IV(''), 0xC1, 0},
{IV(''), 0xC1, 0xDE},
{IV(''), 0xAF, 0},
{IV(''), 0xC2, 0},
{IV(''), 0xC2, 0xDE},
{IV(''), 0xC3, 0},
{IV(''), 0xC3, 0xDE},
{IV(''), 0xC4, 0},
{IV(''), 0xC4, 0xDE},
{IV(''), 0xC5, 0},
{IV(''), 0xC6, 0},
{IV(''), 0xC7, 0},
{IV(''), 0xC8, 0},
{IV(''), 0xC9, 0},
{IV(''), 0xCA, 0},
{IV(''), 0xCA, 0xDE},
{IV(''), 0xCA, 0xDF},
{IV(''), 0xCB, 0},
{IV(''), 0xCB, 0xDE},
{IV(''), 0xCB, 0xDF},
{IV(''), 0xCC, 0},
{IV(''), 0xCC, 0xDE},
{IV(''), 0xCC, 0xDF},
{IV(''), 0xCD, 0},
{IV(''), 0xCD, 0xDE},
{IV(''), 0xCD, 0xDF},
{IV(''), 0xCE, 0},
{IV(''), 0xCE, 0xDE},
{IV(''), 0xCE, 0xDF},
{IV(''), 0xCF, 0},
{IV(''), 0xD0, 0},
{IV(''), 0xD1, 0},
{IV(''), 0xD2, 0},
{IV(''), 0xD3, 0},
{IV(''), 0xAC, 0},
{IV(''), 0xD4, 0},
{IV(''), 0xAD, 0},
{IV(''), 0xD5, 0},
{IV(''), 0xAE, 0},
{IV(''), 0xD6, 0},
{IV(''), 0xD7, 0},
{IV(''), 0xD8, 0},
{IV(''), 0xD9, 0},
{IV(''), 0xDA, 0},
{IV(''), 0xDB, 0},
{IV(''), 0xDC, 0},
{IV(''), 0xA6, 0},
{IV(''), 0xDD, 0},
{IV(''), 0xB3, 0xDE},
{IV(''), 0xDC, 0xDE},
{IV(''), 0xA6, 0xDE},
{IV(''), 0xA5, 0},
{IV(''), 0xB0, 0},
{IV(''), 0xA4, 0},
//{IV('g'), 0xE7, 0}, // error
//{IV(''), 0xE9, 0},
//{IV('j'), 0xEA, 0}, // error
//{IV(''), 0xED, 0},
//{IV(''), 0xEE, 0},
//{IV('p'), 0xF0, 0}, // error
//{IV('q'), 0xF1, 0}, // error
//{IV(''), 0xF8, 0},
//{IV('y'), 0xF9, 0}, // error
{IV(''), 0xFB, 0},
{IV(''), 0xFC, 0},
{IV(''), 0xFA, 0},
//{IV(''), 0xFE, 0},
//、・ヲァィゥェォャュョッー
{IV(''), 0xA4, 0}, //ヽ
{IV(''), 0xA5, 0}, //・
{IV(''), 0xA6, 0}, //ヲ
{IV(''), 0xA7, 0}, //ァ
{IV(''), 0xA8, 0}, //ィ
{IV(''), 0xA9, 0}, //ゥ
{IV(''), 0xAA, 0}, //ェ
{IV(''), 0xAB, 0}, //ォ
{IV(''), 0xAC, 0}, //ャ
{IV(''), 0xAD, 0}, //ュ
{IV(''), 0xAE, 0}, //ョ
{IV(''), 0xAF, 0}, //ッ
{IV(''), 0xB0, 0}, //ー
//アイウエオカキクケコサシスセ
{IV(''), 0xB1, 0}, //ア
{IV(''), 0xB2, 0}, //イ
{IV(''), 0xB3, 0}, //ウ
{IV(''), 0xB4, 0}, //エ
{IV(''), 0xB5, 0}, //オ
{IV(''), 0xB6, 0}, //カ
{IV(''), 0xB7, 0}, //キ
{IV(''), 0xB8, 0}, //ク
{IV(''), 0xB9, 0}, //ケ
{IV(''), 0xBA, 0}, //コ
{IV(''), 0xBB, 0}, //サ
{IV(''), 0xBC, 0}, //シ
{IV(''), 0xBD, 0}, //ス
{IV(''), 0xBE, 0}, //セ
//ソタチツテトナニヌネノハヒフ
{IV('ソ'), 0xBF, 0}, //ソ
{IV(''), 0xC0, 0}, //タ
{IV(''), 0xC1, 0}, //チ
{IV(''), 0xC2, 0}, //ツ
{IV(''), 0xC3, 0}, //テ
{IV(''), 0xC4, 0}, //ト
{IV(''), 0xC5, 0}, //ナ
{IV(''), 0xC6, 0}, //ニ
{IV(''), 0xC7, 0}, //ヌ
{IV(''), 0xC8, 0}, //ネ
{IV(''), 0xC9, 0}, //
{IV(''), 0xCA, 0}, //ハ
{IV(''), 0xCB, 0}, //ヒ
{IV(''), 0xCC, 0}, //フ
//ヘホマミムメモヤユヨラリルレロワン゙゚
{IV(''), 0xCD, 0}, //ヘ
{IV(''), 0xCE, 0}, //ホ
{IV(''), 0xCF, 0}, //マ
{IV(''), 0xD0, 0}, //ミ
{IV(''), 0xD1, 0}, //ム
{IV(''), 0xD2, 0}, //メ
{IV(''), 0xD3, 0}, //モ
{IV(''), 0xD4, 0}, //ヤ
{IV(''), 0xD5, 0}, //ユ
{IV(''), 0xD6, 0}, //ヨ
{IV(''), 0xD7, 0}, //ラ
{IV(''), 0xD8, 0}, //リ
{IV(''), 0xD9, 0}, //ル
{IV(''), 0xDA, 0}, //レ
{IV(''), 0xDB, 0}, //ロ
{IV(''), 0xDC, 0}, //ワ
{IV(''), 0xDD, 0}, //ン
{IV(''), 0xDE, 0}, // ゛
{IV(''), 0xDF, 0}, // ゜
{IV(''), 0x5C, 0},
#elif DISPLAY_CHARSET_HD44780 == WESTERN
// 0x10 -- 0x1F (except 0x1C)
// 0x80 -- 0xFF (except 0xA7,0xB0,0xB1,0xB3,0xB4,0xBF,0xD1,0xF8,0xFA,0xFC-0xFF)
{IV('¡'), 0xA9, 0},
{IV('¢'), 0xA4, 0},
{IV('£'), 0xA5, 0},
{IV('¥'), 0xA6, 0},
{IV('§'), 0xD2, 0}, // section sign
{IV('©'), 0xCF, 0},
{IV('ª'), 0x9D, 0},
{IV('«'), 0xBB, 0},
{IV('®'), 0xCE, 0},
{IV('°'), 0xB2, 0}, // Marlin special: '°' LCD_STR_DEGREE (0x09)
//{IV(''), 0xD1, 0},
{IV('±'), 0x10, 0}, //∓±
//{'='), 0x1C, 0}, // error
{IV('²'), 0x1E, 0},
{IV('³'), 0x1F, 0},
{IV(''), 0xD3, 0}, // pilcrow sign
{IV('º'), 0x9E, 0},
{IV('»'), 0xBC, 0}, // 00BB
//{IV(''), 0xB3, 0}, // error
//{IV(''), 0xB4, 0}, // error
{IV('¼'), 0xB6, 0}, // 00BC
{IV('½'), 0xB5, 0}, // 00BD
//{IV('¾'), '3', 0}, // 00BE
{IV('¿'), 0x9F, 0}, // 00BF
{IV('Â'), 0x8F, 0},
{IV('Ã'), 0xAA, 0},
{IV('Ä'), 0x8E, 0},
{IV('Æ'), 0x92, 0},
{IV('Ç'), 0x80, 0},
{IV('É'), 0x90, 0},
{IV('Ñ'), 0x9C, 0},
{IV('Õ'), 0xAC, 0},
{IV('Ö'), 0x99, 0},
{IV('×'), 0xB7, 0},
{IV('Ø'), 0xAE, 0},
{IV('Ü'), 0x9A, 0},
{IV('à'), 0x85, 0},
{IV('á'), 0xA0, 0},
{IV('â'), 0x83, 0},
{IV('ã'), 0xAB, 0},
{IV('ä'), 0x84, 0},
{IV('å'), 0x86, 0},
{IV('æ'), 0x91, 0},
{IV('ç'), 0x87, 0},
{IV('è'), 0x8A, 0},
{IV('é'), 0x82, 0},
{IV('ê'), 0x88, 0},
{IV('ë'), 0x89, 0},
{IV('ì'), 0x8D, 0},
{IV('í'), 0xA1, 0},
{IV('î'), 0x8C, 0},
{IV('ï'), 0x8B, 0},
{IV('ñ'), 0x9B, 0},
{IV('ò'), 0x95, 0},
{IV('ó'), 0xA2, 0},
{IV('ô'), 0x93, 0},
{IV('õ'), 0xAD, 0},
{IV('ö'), 0x94, 0},
{IV('÷'), 0xB8, 0},
{IV('ø'), 0xAF, 0},
{IV('ù'), 0x97, 0},
{IV('ú'), 0xA3, 0},
{IV('û'), 0x96, 0},
{IV('ü'), 0x81, 0},
{IV('ÿ'), 0x98, 0},
//{IV(''), 0xB0, 0}, // error
//{IV(''), 0xB1, 0}, // error
{IV('ƒ'), 0xA8, 0}, // 0192
{IV('Ύ'), 0xDB, 0}, // 038E
{IV('Ώ'), 0xDE, 0}, // 038F
{IV('ΐ'), 0xE7, 0}, // 0390
{IV('Γ'), 0xD4, 0}, // 0393, Gamma
{IV('Δ'), 0xD5, 0}, // 0394, Delta, ◿
{IV('Θ'), 0xD6, 0}, // 0398, Theta
{IV('Λ'), 0xD7, 0}, // 039B, Lambda
{IV('Ξ'), 0xD8, 0}, // 039E, Xi
{IV('Π'), 0xD9, 0}, // Pi
{IV('Σ'), 0xDA, 0}, // Sigma
{IV('Υ'), 0xDB, 0}, // Upsilon
{IV('Φ'), 0xDC, 0}, // Phi
{IV('Ψ'), 0xDD, 0}, // Psi
{IV('Ω'), 0xDE, 0}, // Omega
{IV('ά'), 0xDF, 0}, // 03AC
{IV('έ'), 0xE3, 0}, // 03AD
{IV('ή'), 0xE5, 0}, // 03AE
{IV('ί'), 0xE7, 0}, // 03AF
{IV('ΰ'), 0xF1, 0}, // 03B0
{IV('α'), 0xDF, 0}, // alpha
{IV('β'), 0xE0, 0}, // beta
{IV('γ'), 0xE1, 0}, // gamma
{IV('δ'), 0xE2, 0}, // delta
{IV('ε'), 0xE3, 0}, // epsilon
{IV('ζ'), 0xE4, 0}, // zeta
{IV('η'), 0xE5, 0}, // eta
{IV('θ'), 0xE6, 0}, // theta
{IV('ι'), 0xE7, 0}, // lota
{IV('κ'), 0xE8, 0}, // kappa
{IV('λ'), 0xE9, 0}, // lambda
{IV('μ'), 0xEA, 0}, // mu
{IV('ν'), 0xEB, 0}, // nu
{IV('ξ'), 0xEC, 0}, // xi
{IV('π'), 0xED, 0}, // pi
{IV('ρ'), 0xEE, 0}, // rho
{IV('σ'), 0xEF, 0}, // sigma
{IV('τ'), 0xF0, 0}, // tau
{IV('υ'), 0xF1, 0}, // upsilon
{IV('χ'), 0xF2, 0}, // chi
{IV('ψ'), 0xF3, 0}, // psi
{IV('ω'), 0xF4, 0}, // 03C9, omega
{IV('ϊ'), 0xE7, 0}, // 03CA
{IV('ϋ'), 0xF1, 0}, // 03CB
{IV('ύ'), 0xF1, 0}, // 03CD
{IV('ώ'), 0xF4, 0}, // 03CE
{IV(''), 0xCD, 0}, // ·
{IV(''), 0xA7, 0}, // ℞ Pt ASCII 158
{IV(''), 0xD0, 0},
{IV(''), 0xF9, 0}, // ⟻
{IV(''), 0xC4, 0},
{IV(''), 0x04, 0}, // Marlin special: '↻↺⟳⟲' LCD_STR_REFRESH (0x01)
{IV(''), 0xFB, 0},
{IV(''), 0xBE, 0}, // √
{IV(''), 0xC2, 0}, // infinity
{IV(''), 0x1B, 0},
{IV(''), 0x1D, 0},
{IV(''), 0x1A, 0},
{IV(''), 0xBD, 0},
{IV(''), 0x11, 0},
{IV(''), 0xB9, 0},// ≤≥ ⩽⩾
{IV(''), 0xBA, 0},
//{IV(''), 0xBF, 0}, // error
{IV(''), 0xC0, 0},
{IV(''), 0xC1, 0},
{IV(''), 0x14, 0},
{IV(''), 0x15, 0},
{IV(''), 0x16, 0},
{IV(''), 0x17, 0},
{IV(''), 0x18, 0},
{IV(''), 0x19, 0},
{IV(''), 0x12, 0},
{IV(''), 0x13, 0},
{IV(''), 0x07, 0}, // Marlin special: '🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧 ⌚⌛⏰⏱⏳⧖⧗' LCD_STR_CLOCK (0x05)
{IV(''), 0xC9, 0},
{IV(''), 0xCA, 0},
{IV(''), 0xCB, 0},
{IV(''), 0xCC, 0},
{IV(''), 0xC3, 0}, // ◿
{IV(''), 0xC8, 0},
{IV(''), 0xC5, 0},
{IV(''), 0xC7, 0},
{IV(''), 0xC6, 0},
{IV(''), 0xF5, 0},
{IV(''), 0xF7, 0}, // ⯅
{IV(''), 0xF6, 0},
//{IV(''), 0xF8, 0}, // error
//{IV(''), 0xFA, 0}, // error
//{IV(''), 0xFC, 0}, // error
//{IV(''), 0xFD, 0}, // error
//{IV(''), 0xFE, 0}, // error
//{IV(''), 0xFF, 0}, // error
#elif DISPLAY_CHARSET_HD44780 == CYRILLIC
{IV('¢'), 0x5C, 0}, // 00A2
{IV('£'), 0xCF, 0}, // 00A3
{IV('°'), 0x01, 0}, // 00B0, Marlin special: '°' LCD_STR_DEGREE (0x09)
//{IV(''), 0x80, 0},
//{IV(''), 0x81, 0},
//{IV(''), 0x82, 0},
//{IV(''), 0x83, 0},
//{IV(''), 0x84, 0},
//{IV(''), 0x85, 0},
//{IV(''), 0x86, 0},
//{IV(''), 0x87, 0},
//{IV(''), 0x88, 0},
//{IV(''), 0x89, 0},
//{IV(''), 0x8A, 0},
//{IV(''), 0x8B, 0},
//{IV(''), 0x8C, 0},
//{IV(''), 0x8D, 0},
//{IV(''), 0x8E, 0},
//{IV(''), 0x8F, 0},
//{IV(''), 0x90, 0},
//{IV(''), 0x91, 0},
//{IV(''), 0x92, 0},
//{IV(''), 0x93, 0},
//{IV(''), 0x94, 0},
//{IV(''), 0x95, 0},
//{IV(''), 0x96, 0},
//{IV(''), 0x97, 0},
//{IV(''), 0x98, 0},
//{IV(''), 0x99, 0},
//{IV(''), 0x9A, 0},
//{IV(''), 0x9B, 0},
//{IV(''), 0x9C, 0},
//{IV(''), 0x9D, 0},
//{IV(''), 0x9E, 0},
//{IV(''), 0x9F, 0},
{IV('¼'), 0xF0, 0}, // 00BC
//{IV('¹/³'), 0xF1, 0},
{IV('½'), 0xF2, 0}, // 00BD
{IV('¾'), 0xF3, 0}, // 00BE
{IV('¿'), 0xCD, 0}, // 00BF
{IV('Ё'), 0xA2, 0}, // 0401
{IV('А'), 'A', 0}, // 0410
{IV('Б'), 0xA0, 0},
{IV('В'), 'B', 0},
{IV('Г'), 0xA1, 0},
{IV('Д'), 0xE0, 0},
{IV('Е'), 'E', 0},
{IV('Ж'), 0xA3, 0},
{IV('З'), 0xA4, 0},
{IV('И'), 0xA5, 0},
{IV('Й'), 0xA6, 0},
{IV('К'), 'K', 0},
{IV('Л'), 0xA7, 0},
{IV('М'), 'M', 0},
{IV('Н'), 'H', 0},
{IV('О'), 'O', 0},
{IV('П'), 0xA8, 0},
{IV('Р'), 'P', 0},
{IV('С'), 'C', 0},
{IV('Т'), 'T', 0},
{IV('У'), 0xA9, 0},
{IV('Ф'), 0xAA, 0},
{IV('Х'), 'X', 0},
{IV('Ц'), 0xE1, 0},
{IV('Ч'), 0xAB, 0},
{IV('Ш'), 0xAC, 0},
{IV('Щ'), 0xE2, 0},
{IV('Ъ'), 0xAD, 0},
{IV('Ы'), 0xAE, 0},
{IV('Ь'), 'b', 0},
{IV('Э'), 0xAF, 0},
{IV('Ю'), 0xB0, 0},
{IV('Я'), 0xB1, 0},
{IV('а'), 'a', 0},
{IV('б'), 0xB2, 0},
{IV('в'), 0xB3, 0},
{IV('г'), 0xB4, 0},
{IV('д'), 0xE3, 0},
{IV('е'), 'e', 0},
{IV('ж'), 0xB6, 0},
{IV('з'), 0xB7, 0},
{IV('и'), 0xB8, 0},
{IV('й'), 0xB9, 0},
{IV('к'), 0xBA, 0}, //клмноп
{IV('л'), 0xBB, 0},
{IV('м'), 0xBC, 0},
{IV('н'), 0xBD, 0},
{IV('о'), 'o', 0},
{IV('п'), 0xBE, 0},
{IV('р'), 'p', 0},
{IV('с'), 'c', 0},
{IV('т'), 0xBF, 0},
{IV('у'), 'y', 0},
{IV('ф'), 0xE4, 0},
{IV('х'), 'x', 0},
{IV('ц'), 0xE5, 0},
{IV('ч'), 0xC0, 0},
{IV('ш'), 0xC1, 0},
{IV('щ'), 0xE6, 0},
{IV('ъ'), 0xC2, 0},
{IV('ы'), 0xC3, 0},
{IV('ь'), 0xC4, 0},
{IV('э'), 0xC5, 0},
{IV('ю'), 0xC6, 0},
{IV('я'), 0xC7, 0}, // 044F
{IV('ё'), 0xB5, 0}, // 0451
//{IV(''), 0xC8, 0},
//{IV(''), 0xC9, 0},
//{IV(''), 0xCA, 0},
//{IV(''), 0xCB, 0},
//{IV(''), 0xCC, 0},
//{IV(''), 0xCD, 0},
//{IV(''), 0xCE, 0},
//{IV(''), 0xD0, 0},
//{IV(''), 0xD1, 0},
//{IV(''), 0xD2, 0},
//{IV(''), 0xD3, 0},
//{IV(''), 0xD4, 0},
//{IV(''), 0xD5, 0},
//{IV(''), 0xD6, 0},
//{IV(''), 0xD7, 0},
//{IV(''), 0xD8, 0},
//{IV(''), 0xDB, 0},
//{IV(''), 0xDC, 0},
//{IV(''), 0xDD, 0},
//{IV(''), 0xDE, 0},
//{IV(''), 0xDF, 0},
//{IV(''), 0xE7, 0},
//{IV(''), 0xE8, 0},
//{IV(''), 0xE9, 0},
//{IV(''), 0xEA, 0},
//{IV(''), 0xEB, 0},
//{IV(''), 0xEC, 0},
//{IV(''), 0xED, 0},
//{IV(''), 0xEE, 0},
//{IV(''), 0xEF, 0},
//{IV(''), 0xF4, 0},
//{IV(''), 0xF5, 0},
//{IV(''), 0xF6, 0},
//{IV(''), 0xF7, 0},
//{IV(''), 0xF8, 0},
//{IV(''), 0xF9, 0},
//{IV(''), 0xFA, 0},
//{IV(''), 0xFB, 0},
//{IV(''), 0xFC, 0},
//{IV(''), 0xFD, 0},
//{IV(''), 0xFE, 0},
//{IV(''), 0xFF, 0},
{IV(''), 0xD9, 0}, // 2191 ←↑→↓
{IV(''), 0xDA, 0}, // 2193
#endif
};
// the plain ASCII replacement for various char
static const hd44780_charmap_t g_hd44780_charmap_common[] PROGMEM = {
{IV('¡'), 'i', 0}, // A1
{IV('¢'), 'c', 0}, // A2
{IV('°'), 0x09, 0}, // B0 Marlin special: '°' LCD_STR_DEGREE (0x09)
// map WESTERN code to the plain ASCII
{IV('Á'), 'A', 0}, // C1
{IV('Â'), 'A', 0}, // C2
{IV('Ã'), 'A', 0}, // C3
{IV('Ä'), 'A', 0}, // C4
{IV('Å'), 'A', 0}, // C5
{IV('Æ'), 'A', 'E'}, // C6
{IV('Ç'), 'C', 0}, // C7
{IV('È'), 'E', 0}, // C8
{IV('É'), 'E', 0}, // C9
{IV('Í'), 'I', 0}, // CD
{IV('Ñ'), 'N', 0}, // D1
{IV('Õ'), 'O', 0}, // D5
{IV('Ö'), 'O', 0}, // D6
{IV('×'), 'x', 0}, // D7
{IV('Ü'), 'U', 0}, // DC
{IV('Ý'), 'Y', 0}, // DD
{IV('à'), 'a', 0}, // E0
{IV('á'), 'a', 0},
{IV('â'), 'a', 0},
{IV('ã'), 'a', 0},
{IV('ä'), 'a', 0},
{IV('å'), 'a', 0},
{IV('æ'), 'a', 'e'},
{IV('ç'), 'c', 0},
{IV('è'), 'e', 0}, // 00E8
{IV('é'), 'e', 0},
{IV('ê'), 'e', 0},
{IV('ë'), 'e', 0},
{IV('ì'), 'i', 0}, // 00EC
{IV('í'), 'i', 0},
{IV('î'), 'i', 0},
{IV('ï'), 'i', 0}, // 00EF
{IV('ñ'), 'n', 0}, // 00F1
{IV('ò'), 'o', 0},
{IV('ó'), 'o', 0},
{IV('ô'), 'o', 0},
{IV('õ'), 'o', 0},
{IV('ö'), 'o', 0},
//{IV('÷'), 0xB8, 0},
{IV('ø'), 'o', 0},
{IV('ù'), 'u', 0},
{IV('ú'), 'u', 0},
{IV('û'), 'u', 0},
{IV('ü'), 'u', 0}, // FC
{IV('ý'), 'y', 0}, // FD
{IV('ÿ'), 'y', 0}, // FF
{IV('Ą'), 'A', 0}, // 0104
{IV('ą'), 'a', 0}, // 0105
{IV('Ć'), 'C', 0}, // 0106
{IV('ć'), 'c', 0}, // 0107
{IV('Č'), 'C', 0}, // 010C
{IV('č'), 'c', 0}, // 010D
{IV('Ď'), 'D', 0}, // 010E
{IV('ď'), 'd', 0}, // 010F
{IV('đ'), 'd', 0}, // 0111
{IV('ę'), 'e', 0}, // 0119
{IV('ğ'), 'g', 0}, // 011F
{IV('İ'), 'I', 0}, // 0130
{IV('ı'), 'i', 0}, // 0131
{IV('Ł'), 'L', 0}, // 0141
{IV('ł'), 'l', 0}, // 0142
{IV('Ń'), 'N', 0}, // 0143
{IV('ń'), 'n', 0}, // 0144
{IV('ň'), 'n', 0}, // 0148
{IV('ř'), 'r', 0}, // 0159
{IV('Ś'), 'S', 0}, // 015A
{IV('ś'), 's', 0}, // 015B
{IV('ş'), 's', 0}, // 015F
{IV('Š'), 'S', 0}, // 0160
{IV('š'), 's', 0}, // 0161
{IV('ť'), 't', 0}, // 0165
{IV('ů'), 'u', 0}, // 016F
{IV('ż'), 'z', 0}, // 017C
{IV('Ž'), 'Z', 0}, // 017D
{IV('ž'), 'z', 0}, // 017E
{IV('ƒ'), 'f', 0}, // 0192
{IV('ˣ'), 'x', 0}, // 02E3
{IV('΄'), '\'', 0}, // 0384
{IV('΅'), '\'', 0}, // 0385
{IV('Ά'), 'A', 0}, // 0386
{IV('·'), '.', 0}, // 0387
{IV('Έ'), 'E', 0}, // 0388
{IV('Ή'), 'H', 0}, // 0389
{IV('Ί'), 'I', 0}, // 038A
{IV('Ό'), 'O', 0}, // 038C
{IV('Ύ'), 'Y', 0}, // 038E
{IV('Ώ'), 'O', 0}, // 038F
{IV('ΐ'), 'i', 0}, // 0390
{IV('Α'), 'A', 0}, // 0391
{IV('Β'), 'B', 0}, // 0392
{IV('Γ'), 'T', 0}, // 0393, Gamma
{IV('Δ'), '4', 0}, // 0394, Delta, ◿
{IV('Ε'), 'E', 0}, // 0395
{IV('Ζ'), 'Z', 0}, // 0396
{IV('Η'), 'H', 0}, // 0397
{IV('Θ'), '0', 0}, // 0398, Theta
{IV('Ι'), 'I', 0}, // 0399
{IV('Κ'), 'K', 0}, // 039A
{IV('Λ'), '^', 0}, // 039B, Lambda
{IV('Μ'), 'M', 0}, // 039C
{IV('Ν'), 'N', 0}, // 039D
{IV('Ξ'), '3', 0}, // 039E, Xi
{IV('Ο'), 'O', 0}, // 039F
{IV('Π'), 'n', 0}, // 03A0, Pi
{IV('Ρ'), 'P', 0}, // 03A1
{IV('Σ'), 'E', 0}, // 03A3, Sigma
{IV('Τ'), 'T', 0}, // 03A4
{IV('Υ'), 'Y', 0}, // 03A5, Upsilon
{IV('Φ'), 'p', 0}, // 03A6, Phi
{IV('Χ'), 'X', 0}, // 03A7
{IV('Ψ'), 'P', 0}, // 03A8, Psi
{IV('Ω'), 'O', 0}, // 03A9, Omega
{IV('Ϊ'), 'I', 0}, // 03AA
{IV('Ϋ'), 'Y', 0}, // 03AB
{IV('ά'), 'a', 0}, // 03AC
{IV('έ'), 'e', 0}, // 03AD
{IV('ή'), 'n', 0}, // 03AE
{IV('ί'), 'i', 0}, // 03AF
{IV('ΰ'), 'v', 0}, // 03B0
{IV('α'), 'a', 0}, // 03B1, alpha
{IV('β'), 'B', 0}, // 03B2, beta
{IV('γ'), 'v', 0}, // 03B3, gamma
{IV('δ'), 'd', 0}, // 03B4, delta
{IV('ε'), 'e', 0}, // 03B5, epsilon
{IV('ζ'), 'Z', 0}, // 03B6, zeta
{IV('η'), 'n', 0}, // 03B7, eta
{IV('θ'), '0', 0}, // 03B8, theta
{IV('ι'), 'i', 0}, // 03B9, lota
{IV('κ'), 'k', 0}, // 03BA, kappa
{IV('λ'), 'L', 0}, // 03BB, lambda
{IV('μ'), 'u', 0}, // 03BC, mu
{IV('ν'), 'v', 0}, // 03BD, nu
{IV('ξ'), 'e', 0}, // 03BE, xi
{IV('ο'), 'o', 0}, // 03BF
{IV('π'), 'n', 0}, // 03C0, pi
{IV('ρ'), 'p', 0}, // 03C1, rho
{IV('ς'), 'c', 0}, // 03C2
{IV('σ'), 'o', 0}, // 03C3, sigma
{IV('τ'), 't', 0}, // 03C4, tau
{IV('υ'), 'v', 0}, // 03C5, upsilon
{IV('φ'), 'p', 0}, // 03C6
{IV('χ'), 'X', 0}, // 03C7, chi
{IV('ψ'), 'W', 0}, // 03C8, psi
{IV('ω'), 'w', 0}, // 03C9, omega
{IV('ϊ'), 'i', 0}, // 03CA
{IV('ϋ'), 'v', 0}, // 03CB
{IV('ό'), 'o', 0}, // 03CC
{IV('ύ'), 'v', 0}, // 03CD
{IV('ώ'), 'w', 0}, // 03CE
// map CYRILLIC code to the plain ASCII
{IV('Ё'), 'E', 0}, // 0401, error 'E' + '``'(0xDE)
{IV('А'), 'A', 0}, // 0410 'А'
{IV('Б'), 'b', 0}, // 0411, error (0x01)
{IV('В'), 'B', 0}, // 0412
{IV('Г'), 'T', 0}, // 0413, error (0x02)
{IV('Д'), 'Q', 0}, // 0414, error (0x03)
{IV('Е'), 'E', 0}, // 0415
{IV('Ж'), '*', 0}, // 0416, error 'E' + ''(0xC8)
{IV('З'), 'E', 0}, // 0417
{IV('И'), 'N', 0}, // 0418, error (0x05)
{IV('Й'), 'N', 0}, // 0419, error (0x05 + '`'0x60)
{IV('К'), 'K', 0}, // 041A
{IV('Л'), 'T', 0}, // 041B, error (0x06)
{IV('М'), 'M', 0}, // 041C
{IV('Н'), 'H', 0}, // 041D
{IV('О'), 'O', 0}, // 041E
{IV('П'), 'n', 0}, // 041F, error (0x04)
{IV('Р'), 'P', 0}, // 0420
{IV('С'), 'C', 0}, // 0421
{IV('Т'), 'T', 0}, // 0422
{IV('У'), 'Y', 0},
{IV('Ф'), 'o', 0}, // error ('E' + '¢'0xEC)
{IV('Х'), 'X', 0},
{IV('Ц'), 'U', 0}, // error (0x07)
{IV('Ч'), 'y', 0}, // error ('ム'0xD1)
{IV('Ш'), 'W', 0},
{IV('Щ'), 'W', 0}, // error ('ミ'0xD0)
{IV('Ъ'), 'b', 0}, // error ('「'0xA2 + 'b')
{IV('Ы'), 'b', '|'}, // error ('b' + '|'},
{IV('Ь'), 'b'},
{IV('Э'), 'e'}, // error ('ヨ'0xD6)
{IV('Ю'), '|', 'O'}, // error ('ト'0xC4 + 'O'}
{IV('Я'), '9', '|'}, // 042F
{IV('а'), 'a', 0}, // 0430
{IV('б'), '6', 0}, // 0431
{IV('в'), 'B', 0}, // 0432, error ('β'0xE2)
{IV('г'), 'r', 0}, // 0433
{IV('д'), 'a', 0}, // 0434, error (''0xE5)
{IV('е'), 'e', 0}, // 0435
{IV('ж'), '*', 0}, // 0436
{IV('з'), 'e', 0}, // 0437, error (''0xAE)
{IV('и'), 'u', 0}, // 0438
{IV('й'), 'u', 0}, // 0439, error ('u' + ''0x60)
{IV('к'), 'k', 0}, // 043A
{IV('л'), 'n', 0}, // error ('ハ'0xCA)
{IV('м'), 'm', 0},
{IV('н'), 'H', 0}, // error ('円'0xFC)
{IV('о'), 'o', 0},
{IV('п'), 'n', 0},
{IV('р'), 'p', 0},
{IV('с'), 'c', 0},
{IV('т'), 't', 0},
{IV('у'), 'y', 0},
{IV('ф'), 'q', 'p'},
{IV('х'), 'x', 0},
{IV('ц'), 'u', 0}, // error ('u' + ''0xA4)
{IV('ч'), 'y', 0}, // error (''0xF9)
{IV('ш'), 'w', 0},
{IV('щ'), 'w', 0}, // error ('ッ'0xAF)
{IV('ъ'), 'b', 0}, // error ('「'0xA2+'b')
{IV('ы'), 'b', '|'}, // error ('b'+'|')
{IV('ь'), 'b', 0},
{IV('э'), 'e', 0}, // error ('ヲ'0xA6)
{IV('ю'), '|', 'o'}, // error ('ェ'0xAA+'o')
{IV('я'), 'g', 0}, // 044F
{IV('ё'), 'e', 0}, // 0451, error ('e'+''0xDE)
{IV(''), '.', 0}, // 2022 ·
{IV(''), 'P', 'x'}, // 211E ℞ Pt ASCII 158
{IV(''), 'T', 'M'}, // 2122
{IV(''), '<', '-'}, // 2190
{IV(''), '-', '>'}, // 2192, Marlin special: '⮈⮉⮊⮋➤→' LCD_STR_ARROW_RIGHT (0x03)
//{IV('↰'), '<', 0}, // 21B0, Marlin special: '⮥⮭⮉⇧↑↰' LCD_STR_UPLEVEL (0x04)
{IV(''), 0x03, 0}, // 21B0, Marlin special: '⮥⮭⮉⇧↑↰' LCD_STR_UPLEVEL (0x04)
{IV(''), 0x04, 0}, // 21BB Marlin special: '↻↺⟳⟲' LCD_STR_REFRESH (0x01)
{IV(''), '~', 0}, // 223C
{IV(''), '~', '='}, // 2248
{IV(''), '!', '='}, // 2260
{IV(''), '=', 0}, // 2261
{IV(''), '<', '='},// 2264, ≤≥ ⩽⩾
{IV(''), '>', '='}, // 2265
{IV(''), 0x07, 0}, // 23F1, Marlin special: '🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧 ⌚⌛⏰⏱⏳⧖⧗' LCD_STR_CLOCK (0x05)
{IV(''), '=', 0}, // 30A0
// ◴◵◶◷
//{IV(''), 0x00, 0}, // Marlin special: '' LCD_STR_BEDTEMP (0x07)
{IV('🌡'), 0x02, 0}, // D83CDF21 Marlin special: '🌡' LCD_STR_THERMOMETER (0x08)
{IV('📂'), 0x05, 0}, // D83DDCC2 Marlin special: '📁📂' LCD_STR_FOLDER (0x02)
//{IV(''), 0x06, 0}, // Marlin special: '' LCD_STR_FEEDRATE (0x06)
};
/* return v1 - v2 */
static int hd44780_charmap_compare(hd44780_charmap_t * v1, hd44780_charmap_t * v2) {
FU_ASSERT(NULL != v1);
FU_ASSERT(NULL != v2);
TRACE("compare char1 %" PRIu32 "(0x%" PRIX32 ")", v1->uchar, v1->uchar);
TRACE("compare char2 %" PRIu32 "(0x%" PRIX32 ")", v2->uchar, v2->uchar);
if (v1->uchar < v2->uchar) {
TRACE("compare return -1");
return -1;
} else if (v1->uchar > v2->uchar) {
TRACE("compare return 1");
return 1;
}
#if 0
if (v1->idx < v2->idx) {
return -1;
} else if (v1->idx > v2->idx) {
return 1;
}
#endif
TRACE("compare return 0");
return 0;
}
static int pf_bsearch_cb_comp_hd4map_pgm(void *userdata, size_t idx, void * data_pin) {
hd44780_charmap_t localval;
hd44780_charmap_t *p_hd44780_charmap = (hd44780_charmap_t *)userdata;
memcpy_P(&localval, p_hd44780_charmap + idx, sizeof(localval));
return hd44780_charmap_compare(&localval, (hd44780_charmap_t *)data_pin);
}
#if DEBUG
int
test_hd44780_charmap(hd44780_charmap_t *data, size_t size, char *name, char flg_show_contents)
{
int ret;
size_t idx = 0;
hd44780_charmap_t preval = {0, 0, 0};
hd44780_charmap_t pinval = {0, 0, 0};
char flg_error = 0;
int i;
TRACE("Test %s\n", name);
for (i = 0; i < size; i ++) {
memcpy_P (&pinval, &(data[i]), sizeof(pinval));
if (flg_show_contents) {
#if 1
TRACE("[% 4d] % 6" PRIu32 "(0x%04" PRIX32 ") --> 0x%02X,0x%02X%s\n", i, pinval.uchar, pinval.uchar, (unsigned int)(pinval.idx), (unsigned int)(pinval.idx2), (preval.uchar < pinval.uchar?"":" <--- ERROR"));
#else
TRACE("[% 4d]", i);
TRACE("% 6" PRIu32 "(0x%04" PRIX32 "),", pinval.uchar, pinval.uchar);
TRACE("0x%02X,", (unsigned int)(pinval.idx));
TRACE("0x%02X,", (unsigned int)(pinval.idx2));
TRACE("%s", (preval.uchar < pinval.uchar?"":" <--- ERROR"));
#endif
}
if (preval.uchar >= pinval.uchar) {
flg_error = 1;
// TRACE("Error: out of order in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar);
// return -1;
}
memcpy (&preval, &pinval, sizeof(pinval));
ret = pf_bsearch_r((void *)data, size, pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx);
if (ret < 0) {
flg_error = 1;
TRACE("Error: not found item in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar);
//return -1;
}
if (idx != i) {
flg_error = 1;
TRACE("Error: wrong index found item in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar);
//return -1;
}
}
if (flg_error) {
TRACE("\nError: in array %s\n\n", name);
return -1;
}
TRACE("\nPASS array %s\n\n", name);
return 0;
}
int
test_hd44780_charmap_all(void)
{
int flg_error = 0;
if (test_hd44780_charmap(g_hd44780_charmap_device, NUM_ARRAY(g_hd44780_charmap_device), "g_hd44780_charmap_device", 0) < 0) {
flg_error = 1;
test_hd44780_charmap(g_hd44780_charmap_device, NUM_ARRAY(g_hd44780_charmap_device), "g_hd44780_charmap_device", 1);
}
if (test_hd44780_charmap(g_hd44780_charmap_common, NUM_ARRAY(g_hd44780_charmap_common), "g_hd44780_charmap_common", 0) < 0) {
flg_error = 1;
test_hd44780_charmap(g_hd44780_charmap_common, NUM_ARRAY(g_hd44780_charmap_common), "g_hd44780_charmap_common", 1);
}
if (flg_error) {
TRACE("\nFAILED in hd44780 tests!\n");
return -1;
}
TRACE("\nPASS in hd44780 tests.\n");
return 0;
}
#endif // DEBUG
void lcd_moveto(int col, int row) {
TRACE("Move to: (%d,%d)", col, row);
_lcd_setcursor(col, row);
}
// return < 0 on error
// return the advanced cols
int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) {
// find the HD44780 internal ROM first
int ret;
size_t idx = 0;
hd44780_charmap_t pinval;
hd44780_charmap_t localval;
hd44780_charmap_t *copy_address = NULL;
pinval.uchar = c;
pinval.idx = -1;
if (max_length < 1) return 0;
// TODO: fix the '\\' that doesnt exist in the HD44870
if (c < 128) {
//TRACE("draw char: regular %d", (int)c);
_lcd_write((uint8_t)c);
return 1;
}
copy_address = NULL;
ret = pf_bsearch_r((void *)g_hd44780_charmap_device, NUM_ARRAY(g_hd44780_charmap_device), pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx);
if (ret >= 0) {
copy_address = (hd44780_charmap_t *)(g_hd44780_charmap_device + idx);
} else {
ret = pf_bsearch_r((void *)g_hd44780_charmap_common, NUM_ARRAY(g_hd44780_charmap_common), pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx);
if (ret >= 0) {
copy_address = (hd44780_charmap_t *)(g_hd44780_charmap_common + idx);
}
}
if (ret >= 0) {
// found
FU_ASSERT(NULL != copy_address);
memcpy_P(&localval, copy_address, sizeof(localval));
FU_ASSERT((localval.uchar == c) && (localval.uchar == pinval.uchar));
TRACE("draw char: %" PRIu32 "(0x%" PRIX32 ") at ROM %d(+%d)", c, c, (int)localval.idx, (int)localval.idx2);
_lcd_write(localval.idx);
if (max_length >= 2 && localval.idx2 > 0) {
_lcd_write(localval.idx2);
return 2;
}
return 1;
}
// print '?' instead
TRACE("draw char: Not found " PRIu32 "(0x%" PRIX32 ")", c, c);
_lcd_write((uint8_t)'?');
return 1;
}
/**
* @brief Draw a UTF-8 string
*
* @param utf8_str : the UTF-8 string
* @param len : the byte length of the string (returned by strlen(utf8_str) or strlen_P(utf8_str) )
* @param cb_read_byte : the callback function to read one byte from the utf8_str (from RAM or ROM)
* @param max_length : the pixel length of the string allowed (or number of slots in HD44780)
*
* @return the number of pixels advanced
*
* Draw a UTF-8 string
*/
static int lcd_put_u8str_max_cb(const char * utf8_str, uint16_t len, uint8_t (*cb_read_byte)(uint8_t * str), pixel_len_t max_length) {
wchar_t ch;
uint8_t *p, *pend;
pixel_len_t ret = 0;
TRACE("BEGIN lcd_put_u8str_max_cb(len=%d, maxlen=%d)", len, max_length);
pend = (uint8_t *)utf8_str + len;
for (p = (uint8_t *)utf8_str; (p < pend) && (ret < max_length); ) {
ch = 0;
p = get_utf8_value_cb(p, cb_read_byte, &ch);
if (NULL == p) {
TRACE("No more char, break ...");
break;
}
FU_ASSERT(ret < max_length);
ret += lcd_put_wchar_max(ch, max_length - ret);
}
return (int)ret;
}
int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length) {
//TRACE("BEGIN lcd_put_u8str_max(str='%s', len=%d, maxlen=%d)", utf8_str, strlen(utf8_str), max_length);
TRACE("BEGIN lcd_put_u8str_max(str='%s')", utf8_str);
TRACE("BEGIN lcd_put_u8str_max('len=%d)", strlen(utf8_str));
TRACE("BEGIN lcd_put_u8str_max(maxlen=%d)", max_length);
return lcd_put_u8str_max_cb(utf8_str, strlen(utf8_str), read_byte_ram, max_length);
}
int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length) {
//TRACE("BEGIN lcd_put_u8str_max_rom('%s', len=%d, maxlen=%d)", utf8_str_P, strlen_P(utf8_str_P), max_length);
TRACE("BEGIN lcd_put_u8str_max_rom(len=%d)", strlen_P(utf8_str_P));
TRACE("BEGIN lcd_put_u8str_max_rom(maxlen=%d)", max_length);
return lcd_put_u8str_max_cb(utf8_str_P, strlen_P(utf8_str_P), read_byte_rom, max_length);
}
#endif // DOGLCD
#endif // ULTRA_LCD

View file

@ -0,0 +1,80 @@
/**
* @file lcdprint_u8g.c
* @brief LCD print api for u8glib
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2016-08-19
* @copyright GPL/BSD
*/
#include "../inc/MarlinConfigPre.h"
#include "../inc/MarlinConfig.h"
#define USE_LCDPRINT_U8G ENABLED(ULTRA_LCD) && ENABLED(DOGLCD)
#if USE_LCDPRINT_U8G
#include <U8glib.h>
extern U8GLIB *pu8g;
#define _lcd_write(a) pu8g->print(a)
#define _lcd_setcursor(col, row) pu8g->setPrintPos((col), (row));
#include "ultralcd.h"
#include "../Marlin.h"
#include "fontutils.h"
#include "u8g_fontutf8.h"
#include "lcdprint.h"
int lcd_glyph_height(void) {
return u8g_GetFontBBXHeight(pu8g->getU8g());
//return u8g_GetFontBBXOffY(pu8g->getU8g());
}
void lcd_moveto(int col, int row) {
TRACE("Move to: (%d,%d)", col, row);
_lcd_setcursor(col, row);
}
int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) {
if (c < 256) {
TRACE("draw char: regular %d", (int)c);
_lcd_write((char)c);
return u8g_GetFontBBXWidth(pu8g->getU8g());
}
unsigned int x = pu8g->getPrintCol(),
y = pu8g->getPrintRow(),
ret = uxg_DrawWchar(pu8g->getU8g(), x, y, c, max_length);
TRACE("uxg_DrawWchar(x=%d,y=%d,maxlen=%d", x, y, max_length);
TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y);
pu8g->setPrintPos(x + ret, y);
return ret;
}
int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length) {
unsigned int x = pu8g->getPrintCol(),
y = pu8g->getPrintRow(),
ret = uxg_DrawUtf8Str(pu8g->getU8g(), x, y, utf8_str, max_length);
TRACE("uxg_DrawUtf8Str(x=%d,y=%d,maxlen=%d", x, y, max_length);
TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y);
pu8g->setPrintPos(x + ret, y);
return ret;
}
int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length) {
unsigned int x = pu8g->getPrintCol(),
y = pu8g->getPrintRow(),
ret = uxg_DrawUtf8StrP(pu8g->getU8g(), x, y, utf8_str_P, max_length);
TRACE("uxg_DrawUtf8StrP(x=%d,y=%d,maxlen=%d", x, y, max_length);
TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y);
pu8g->setPrintPos(x + ret, y);
return ret;
}
#else // !USE_LCDPRINT_U8G
#define _lcd_write(a) TRACE("Write LCD: %c (%d)", (a), (int)(a));
#define _lcd_setcursor(col, row) TRACE("Set cursor LCD: (%d,%d)", (col), (row));
#endif // !USE_LCDPRINT_U8G

View file

@ -0,0 +1,373 @@
/**
* @file fontutf8.c
* @brief font api for u8g lib
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2015-02-19
* @copyright GPL/BSD
*/
#include <string.h>
#include "u8g.h"
#include "fontutils.h"
#include "u8g_fontutf8.h"
////////////////////////////////////////////////////////////
#define font_t void
#ifndef PSTR
#define PSTR(a) a
void *
memcpy_from_rom(void *dest, const void * rom_src, size_t sz)
{
uint8_t * p;
uint8_t * s;
FU_ASSERT(NULL != dest);
p = dest;
s = rom_src;
uint8_t c;
while ((p - (uint8_t *)dest) < sz) {
*p = pgm_read_byte(s);
p ++;
s ++;
}
return p;
}
#else
#define memcpy_from_rom memcpy_P
#endif
/**
* @brief the callback function to draw something
*
* @param userdata : User's data
* @param msg : the u8g's string
* @param fnt_current : the font
*
* @return 0 on success, 1 to force quit, <0 on error
*
* Get the screen pixel width of a ROM UTF-8 string
*/
typedef int (* fontgroup_cb_draw_t)(void *userdata, const font_t *fnt_current, const char *msg);
//extern int fontgroup_init(font_group_t * root, const uxg_fontinfo_t * fntinfo, int number);
//extern int fontgroup_drawstring(font_group_t *group, const font_t *fnt_default, const char *utf8_msg, void *userdata, fontgroup_cb_draw_t cb_draw);
//extern uxg_fontinfo_t* fontgroup_first(font_group_t * root);
////////////////////////////////////////////////////////////
/* return v1 - v2 */
static int fontinfo_compare(uxg_fontinfo_t * v1, uxg_fontinfo_t * v2) {
FU_ASSERT(NULL != v1);
FU_ASSERT(NULL != v2);
if (v1->page < v2->page)
return -1;
else if (v1->page > v2->page)
return 1;
if (v1->end < v2->begin)
return -1;
else if (v1->begin > v2->end)
return 1;
return 0;
}
/*"data_list[idx] - *data_pin"*/
static int pf_bsearch_cb_comp_fntifo_pgm (void *userdata, size_t idx, void *data_pin) {
uxg_fontinfo_t *fntinfo = (uxg_fontinfo_t*)userdata;
uxg_fontinfo_t localval;
memcpy_from_rom(&localval, fntinfo + idx, sizeof(localval));
return fontinfo_compare(&localval, data_pin);
}
typedef struct _font_group_t {
const uxg_fontinfo_t * m_fntifo;
int m_fntinfo_num;
} font_group_t;
static int fontgroup_init(font_group_t * root, const uxg_fontinfo_t * fntinfo, int number) {
root->m_fntifo = fntinfo;
root->m_fntinfo_num = number;
return 0;
}
static const font_t* fontgroup_find(font_group_t * root, wchar_t val) {
uxg_fontinfo_t vcmp = {val / 128, val % 128 + 128, val % 128 + 128, 0, 0};
size_t idx = 0;
if (val < 256) return NULL;
if (pf_bsearch_r((void*)root->m_fntifo, root->m_fntinfo_num, pf_bsearch_cb_comp_fntifo_pgm, (void*)&vcmp, &idx) < 0)
return NULL;
memcpy_from_rom(&vcmp, root->m_fntifo + idx, sizeof(vcmp));
return vcmp.fntdata;
}
static void fontgroup_drawwchar(font_group_t *group, const font_t *fnt_default, wchar_t val, void * userdata, fontgroup_cb_draw_t cb_draw_ram) {
uint8_t buf[2] = {0, 0};
const font_t * fntpqm = NULL;
TRACE("fontgroup_drawwchar char=%d(0x%X)", (int)val, (int)val);
fntpqm = (font_t*)fontgroup_find(group, val);
if (NULL == fntpqm) {
buf[0] = (uint8_t)(val & 0xFF);
fntpqm = fnt_default;
TRACE("Unknown char %d(0x%X), use default font", (int)val, (int)val);
}
if (fnt_default != fntpqm) {
buf[0] = (uint8_t)(val & 0x7F);
buf[0] |= 0x80; // use upper page to avoid 0x00 error in C. you may want to generate the font data
}
//TRACE("set font: %p; (default=%p)", fntpqm, UXG_DEFAULT_FONT);
cb_draw_ram (userdata, fntpqm, (char*) buf);
}
/**
* @brief try to process a utf8 string
*
* @param pu8g : U8G pointer
* @param fnt_default : the default font
* @param utf8_msg : the UTF-8 string
* @param cb_read_byte : how to read the utf8_msg, from RAM or ROM (call read_byte_ram or pgm_read_byte)
* @param userdata : User's data
* @param cb_draw_ram : the callback function of userdata to draw a !RAM! string (actural it is to draw a one byte string in RAM)
*
* @return N/A
*
* Get the screen pixel width of a ROM UTF-8 string
*/
static void fontgroup_drawstring(font_group_t *group, const font_t *fnt_default, const char *utf8_msg, int len_msg, read_byte_cb_t cb_read_byte, void * userdata, fontgroup_cb_draw_t cb_draw_ram) {
uint8_t *pend = (uint8_t*)utf8_msg + len_msg;
for (uint8_t *p = (uint8_t*)utf8_msg; p < pend; ) {
wchar_t val = 0;
p = get_utf8_value_cb(p, cb_read_byte, &val);
if (NULL == p) {
TRACE("No more char, break ...");
break;
}
fontgroup_drawwchar(group, fnt_default, val, userdata, cb_draw_ram);
}
}
////////////////////////////////////////////////////////////
static char flag_fontgroup_inited1 = 0;
#define flag_fontgroup_inited flag_fontgroup_inited1
static font_group_t g_fontgroup_root = {NULL, 0};
/**
* @brief check if font is loaded
*/
char uxg_Utf8FontIsInited(void) { return flag_fontgroup_inited; }
int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number) {
flag_fontgroup_inited = 1;
return fontgroup_init(&g_fontgroup_root, fntinfo, number);
}
struct _uxg_drawu8_data_t {
u8g_t *pu8g;
unsigned int x;
unsigned int y;
unsigned int adv;
unsigned int max_width; // the max pixel width of the string allowed
const void * fnt_prev;
};
static int fontgroup_cb_draw_u8g (void *userdata, const font_t *fnt_current, const char *msg) {
struct _uxg_drawu8_data_t * pdata = userdata;
FU_ASSERT(NULL != userdata);
if (pdata->fnt_prev != fnt_current) {
u8g_SetFont(pdata->pu8g, fnt_current);
//u8g_SetFontPosBottom(pdata->pu8g);
pdata->fnt_prev = fnt_current;
}
if ((pdata->max_width != PIXEL_LEN_NOLIMIT) && (pdata->adv + u8g_GetStrPixelWidth(pdata->pu8g, (char*)msg) > pdata->max_width)) {
TRACE("return end, adv=%d, width=%d, maxlen=%d", pdata->adv, u8g_GetStrPixelWidth(pdata->pu8g, (char*)msg), pdata->max_width);
return 1;
}
TRACE("Draw string 0x%X", (int)msg[0]);
pdata->adv += u8g_DrawStr(pdata->pu8g, pdata->x + pdata->adv, pdata->y, (char*) msg);
//TRACE("adv pos= %d", pdata->adv);
return 0;
}
/**
* @brief Draw a wchar_t at the specified position
*
* @param pu8g : U8G pointer
* @param x : position x axis
* @param y : position y axis
* @param ch : the wchar_t
* @param max_width : the pixel width of the string allowed
*
* @return number of pixels advanced
*
* Draw a UTF-8 string at the specified position
*/
unsigned int uxg_DrawWchar(u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t ch, pixel_len_t max_width) {
struct _uxg_drawu8_data_t data;
font_group_t *group = &g_fontgroup_root;
const font_t *fnt_default = uxg_GetFont(pu8g);
if (!uxg_Utf8FontIsInited()) {
u8g_DrawStrP(pu8g, x, y, PSTR("Err: utf8 font not initialized."));
return 0;
}
data.pu8g = pu8g;
data.x = x;
data.y = y;
data.adv = 0;
data.max_width = max_width;
data.fnt_prev = NULL;
fontgroup_drawwchar(group, fnt_default, ch, (void*)&data, fontgroup_cb_draw_u8g);
u8g_SetFont(pu8g, fnt_default);
return data.adv;
}
/**
* @brief Draw a UTF-8 string at the specified position
*
* @param pu8g : U8G pointer
* @param x : position x axis
* @param y : position y axis
* @param utf8_msg : the UTF-8 string
* @param max_width : the pixel width of the string allowed
*
* @return number of pixels advanced
*
* Draw a UTF-8 string at the specified position
*/
unsigned int uxg_DrawUtf8Str(u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_width) {
struct _uxg_drawu8_data_t data;
font_group_t *group = &g_fontgroup_root;
const font_t *fnt_default = uxg_GetFont(pu8g);
if (!uxg_Utf8FontIsInited()) {
u8g_DrawStrP(pu8g, x, y, PSTR("Err: utf8 font not initialized."));
return 0;
}
data.pu8g = pu8g;
data.x = x;
data.y = y;
data.adv = 0;
data.max_width = max_width;
data.fnt_prev = NULL;
fontgroup_drawstring(group, fnt_default, utf8_msg, strlen(utf8_msg), read_byte_ram, (void*)&data, fontgroup_cb_draw_u8g);
u8g_SetFont(pu8g, fnt_default);
return data.adv;
}
/**
* @brief Draw a ROM UTF-8 string at the specified position
*
* @param pu8g : U8G pointer
* @param x : position x axis
* @param y : position y axis
* @param utf8_msg : the UTF-8 string
* @param max_width : the pixel width of the string allowed
*
* @return number of pixels advanced
*
* Draw a ROM UTF-8 string at the specified position
*/
unsigned int uxg_DrawUtf8StrP(u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_width) {
struct _uxg_drawu8_data_t data;
font_group_t *group = &g_fontgroup_root;
const font_t *fnt_default = uxg_GetFont(pu8g);
if (!uxg_Utf8FontIsInited()) {
TRACE("Error, utf8string not inited!");
u8g_DrawStrP(pu8g, x, y, PSTR("Err: utf8 font not initialized."));
return 0;
}
data.pu8g = pu8g;
data.x = x;
data.y = y;
data.adv = 0;
data.max_width = max_width;
data.fnt_prev = NULL;
TRACE("call fontgroup_drawstring");
fontgroup_drawstring(group, fnt_default, utf8_msg, my_strlen_P(utf8_msg), read_byte_rom, (void*)&data, fontgroup_cb_draw_u8g);
TRACE("restore font");
u8g_SetFont(pu8g, fnt_default);
TRACE("return %d", data.adv);
return data.adv;
}
static int fontgroup_cb_draw_u8gstrlen(void *userdata, const font_t *fnt_current, const char *msg) {
struct _uxg_drawu8_data_t * pdata = userdata;
FU_ASSERT(NULL != userdata);
if (pdata->fnt_prev != fnt_current) {
u8g_SetFont(pdata->pu8g, fnt_current);
u8g_SetFontPosBottom(pdata->pu8g);
pdata->fnt_prev = fnt_current;
}
pdata->adv += u8g_GetStrPixelWidth(pdata->pu8g, (char*)msg);
return 0;
}
/**
* @brief Get the screen pixel width of a UTF-8 string
*
* @param pu8g : U8G pointer
* @param utf8_msg : the UTF-8 string
*
* @return the pixel width
*
* Get the screen pixel width of a UTF-8 string
*/
int uxg_GetUtf8StrPixelWidth(u8g_t *pu8g, const char *utf8_msg) {
struct _uxg_drawu8_data_t data;
font_group_t *group = &g_fontgroup_root;
const font_t *fnt_default = uxg_GetFont(pu8g);
if (!uxg_Utf8FontIsInited()) {
TRACE("Err: utf8 font not initialized.");
return -1;
}
memset(&data, 0, sizeof(data));
data.pu8g = pu8g;
data.adv = 0;
fontgroup_drawstring(group, fnt_default, utf8_msg, strlen(utf8_msg), read_byte_ram, (void*)&data, fontgroup_cb_draw_u8gstrlen);
u8g_SetFont(pu8g, fnt_default);
return data.adv;
}
/**
* @brief Get the screen pixel width of a ROM UTF-8 string
*
* @param pu8g : U8G pointer
* @param utf8_msg : the UTF-8 string
*
* @return the pixel width
*
* Get the screen pixel width of a ROM UTF-8 string
*/
int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, const char *utf8_msg) {
struct _uxg_drawu8_data_t data;
font_group_t *group = &g_fontgroup_root;
const font_t *fnt_default = uxg_GetFont(pu8g);
if (!uxg_Utf8FontIsInited()) {
TRACE("Err: utf8 font not initialized.");
return -1;
}
memset(&data, 0, sizeof(data));
data.pu8g = pu8g;
data.adv = 0;
fontgroup_drawstring(group, fnt_default, utf8_msg, my_strlen_P(utf8_msg), read_byte_rom, (void*)&data, fontgroup_cb_draw_u8gstrlen);
u8g_SetFont(pu8g, fnt_default);
return data.adv;
}

View file

@ -0,0 +1,50 @@
/**
* @file fontutf8.h
* @brief font api for u8g lib
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2015-02-19
* @copyright GPL/BSD
*/
#ifndef _UXG_FONTUTF8_H
#define _UXG_FONTUTF8_H 1
#include "u8g.h"
#include "fontutils.h"
#ifdef __cplusplus
extern "C" {
#endif
// the macro to indicate a UTF-8 string
// You should to save the C/C++ source in UTF-8 encoding!
// Once you change your UTF-8 strings, you need to call the script uxggenpages.sh to create the font data file fontutf8-data.h
#define _UxGT(a) a
typedef struct _uxg_fontinfo_t {
uint16_t page;
uint8_t begin;
uint8_t end;
uint16_t size;
const u8g_fntpgm_uint8_t *fntdata;
} uxg_fontinfo_t;
extern int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number); // fntinfo is type of PROGMEM
extern char uxg_Utf8FontIsInited(void);
extern unsigned int uxg_DrawWchar (u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t ch, pixel_len_t max_length);
extern unsigned int uxg_DrawUtf8Str (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length);
extern unsigned int uxg_DrawUtf8StrP (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length);
extern int uxg_GetUtf8StrPixelWidth(u8g_t *pu8g, const char *utf8_msg);
extern int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, const char *utf8_msg);
#define uxg_GetFont(puxg) ((puxg)->font)
#ifdef __cplusplus
}
#endif
#endif // _UXG_FONTUTF8_H

View file

@ -4940,24 +4940,6 @@ void lcd_init() {
#endif #endif
} }
int16_t lcd_strlen(const char* s) {
int16_t i = 0, j = 0;
while (s[i]) {
if (PRINTABLE(s[i])) j++;
i++;
}
return j;
}
int16_t lcd_strlen_P(const char* s) {
int16_t j = 0;
while (pgm_read_byte(s)) {
if (PRINTABLE(pgm_read_byte(s))) j++;
s++;
}
return j;
}
bool lcd_blink() { bool lcd_blink() {
static uint8_t blink = 0; static uint8_t blink = 0;
static millis_t next_blink_ms = 0; static millis_t next_blink_ms = 0;

View file

@ -52,8 +52,6 @@
constexpr bool lcd_wait_for_move = false; constexpr bool lcd_wait_for_move = false;
#endif #endif
int16_t lcd_strlen(const char* s);
int16_t lcd_strlen_P(const char* s);
void lcd_update(); void lcd_update();
bool lcd_hasstatus(); bool lcd_hasstatus();
void lcd_setstatus(const char* message, const bool persist=false); void lcd_setstatus(const char* message, const bool persist=false);

View file

@ -0,0 +1,203 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ULTRALCD_COMMON_HD44780_H
#define ULTRALCD_COMMON_HD44780_H
/**
* Implementation of the LCD display routines for a Hitachi HD44780 display.
* These are the most common LCD character displays.
*/
#include "../inc/MarlinConfig.h"
#if LCD_HEIGHT > 3
#include "../libs/duration_t.h"
#endif
#if ENABLED(AUTO_BED_LEVELING_UBL)
#include "../feature/bedlevel/ubl/ubl.h"
#if ENABLED(ULTIPANEL)
#define ULTRA_X_PIXELS_PER_CHAR 5
#define ULTRA_Y_PIXELS_PER_CHAR 8
#define ULTRA_COLUMNS_FOR_MESH_MAP 7
#define ULTRA_ROWS_FOR_MESH_MAP 4
#define N_USER_CHARS 8
#define TOP_LEFT _BV(0)
#define TOP_RIGHT _BV(1)
#define LOWER_LEFT _BV(2)
#define LOWER_RIGHT _BV(3)
#endif
#endif
#include <binary.h>
extern volatile uint8_t buttons; //an extended version of the last checked buttons in a bit array.
////////////////////////////////////
// Setup button and encode mappings for each panel (into 'buttons' variable
//
// This is just to map common functions (across different panels) onto the same
// macro name. The mapping is independent of whether the button is directly connected or
// via a shift/i2c register.
#if ENABLED(ULTIPANEL)
//
// Setup other button mappings of each panel
//
#if ENABLED(LCD_I2C_VIKI)
#define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
// button and encoder bit positions within 'buttons'
#define B_LE (BUTTON_LEFT<<B_I2C_BTN_OFFSET) // The remaining normalized buttons are all read via I2C
#define B_UP (BUTTON_UP<<B_I2C_BTN_OFFSET)
#define B_MI (BUTTON_SELECT<<B_I2C_BTN_OFFSET)
#define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET)
#define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET)
#undef LCD_CLICKED
#if BUTTON_EXISTS(ENC)
// the pause/stop/restart button is connected to BTN_ENC when used
#define B_ST (EN_C) // Map the pause/stop/resume button into its normalized functional name
#define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop.
#else
#define LCD_CLICKED (buttons&(B_MI|B_RI))
#endif
// I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
#define LCD_HAS_SLOW_BUTTONS
#elif ENABLED(LCD_I2C_PANELOLU2)
#if !BUTTON_EXISTS(ENC) // Use I2C if not directly connected to a pin
#define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
#define B_MI (PANELOLU2_ENCODER_C<<B_I2C_BTN_OFFSET) // requires LiquidTWI2 library v1.2.3 or later
#undef LCD_CLICKED
#define LCD_CLICKED (buttons & B_MI)
// I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
#define LCD_HAS_SLOW_BUTTONS
#endif
#elif DISABLED(NEWPANEL) // old style ULTIPANEL
// Shift register bits correspond to buttons:
#define BL_LE 7 // Left
#define BL_UP 6 // Up
#define BL_MI 5 // Middle
#define BL_DW 4 // Down
#define BL_RI 3 // Right
#define BL_ST 2 // Red Button
#define B_LE (_BV(BL_LE))
#define B_UP (_BV(BL_UP))
#define B_MI (_BV(BL_MI))
#define B_DW (_BV(BL_DW))
#define B_RI (_BV(BL_RI))
#define B_ST (_BV(BL_ST))
#define LCD_CLICKED (buttons & (B_MI|B_ST))
#endif
#endif // ULTIPANEL
////////////////////////////////////
// Create LCD class instance and chipset-specific information
#if ENABLED(LCD_I2C_TYPE_PCF8575)
// note: these are register mapped pins on the PCF8575 controller not Arduino pins
#define LCD_I2C_PIN_BL 3
#define LCD_I2C_PIN_EN 2
#define LCD_I2C_PIN_RW 1
#define LCD_I2C_PIN_RS 0
#define LCD_I2C_PIN_D4 4
#define LCD_I2C_PIN_D5 5
#define LCD_I2C_PIN_D6 6
#define LCD_I2C_PIN_D7 7
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
#elif ENABLED(LCD_I2C_TYPE_MCP23017)
//for the LED indicators (which maybe mapped to different things in lcd_implementation_update_indicators())
#define LED_A 0x04 //100
#define LED_B 0x02 //010
#define LED_C 0x01 //001
#define LCD_HAS_STATUS_INDICATORS
#include <Wire.h>
#include <LiquidTWI2.h>
#define LCD_CLASS LiquidTWI2
#elif ENABLED(LCD_I2C_TYPE_MCP23008)
#include <Wire.h>
#include <LiquidTWI2.h>
#define LCD_CLASS LiquidTWI2
#elif ENABLED(LCD_I2C_TYPE_PCA8574)
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
// 2 wire Non-latching LCD SR from:
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
#elif ENABLED(SR_LCD_2W_NL)
extern "C" void __cxa_pure_virtual() { while (1); }
#include <LCD.h>
#include <LiquidCrystal_SR.h>
#define LCD_CLASS LiquidCrystal_SR
#elif ENABLED(LCM1602)
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
#else
// Standard directly connected LCD implementations
#include <LiquidCrystal.h>
#define LCD_CLASS LiquidCrystal
#endif
#include "fontutils.h"
#include "lcdprint.h"
#if ENABLED(LCD_PROGRESS_BAR)
#define LCD_STR_PROGRESS "\x03\x04\x05"
#endif
enum HD44780CharSet : char {
CHARSET_MENU,
CHARSET_INFO,
CHARSET_BOOT
};
#endif // ULTRALCD_COMMON_HD44780_H

View file

@ -59,6 +59,9 @@
#endif #endif
#include <U8glib.h> #include <U8glib.h>
#include "fontutils.h"
#include "u8g_fontutf8.h"
#include "dogm/HAL_LCD_class_defines.h" #include "dogm/HAL_LCD_class_defines.h"
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
@ -80,57 +83,14 @@
#define INFO_FONT_HEIGHT 8 #define INFO_FONT_HEIGHT 8
#endif #endif
#include "dogm/dogm_font_data_Marlin_symbols.h" // The Marlin special symbols // The Marlin special symbols is now in the dogm_font_data_ISO10646_1.h
#define FONT_SPECIAL_NAME Marlin_symbols #define FONT_SPECIAL_NAME ISO10646_1_5x7
#if DISABLED(SIMULATE_ROMFONT) #include LANGUAGE_DATA_INCL(LCD_LANGUAGE)
#if ENABLED(DISPLAY_CHARSET_ISO10646_1) #define TALL_FONT_CORRECTION 1
#include "dogm/dogm_font_data_ISO10646_1.h"
#define FONT_MENU_NAME ISO10646_1_5x7 #include "dogm/dogm_font_data_ISO10646_1.h"
#elif ENABLED(DISPLAY_CHARSET_ISO10646_PL) #define FONT_MENU_NAME ISO10646_1_5x7
#include "dogm/dogm_font_data_ISO10646_1_PL.h"
#define FONT_MENU_NAME ISO10646_1_PL_5x7
#elif ENABLED(DISPLAY_CHARSET_ISO10646_5)
#include "dogm/dogm_font_data_ISO10646_5_Cyrillic.h"
#define FONT_MENU_NAME ISO10646_5_Cyrillic_5x7
#elif ENABLED(DISPLAY_CHARSET_ISO10646_KANA)
#include "dogm/dogm_font_data_ISO10646_Kana.h"
#define FONT_MENU_NAME ISO10646_Kana_5x7
#elif ENABLED(DISPLAY_CHARSET_ISO10646_GREEK)
#include "dogm/dogm_font_data_ISO10646_Greek.h"
#define FONT_MENU_NAME ISO10646_Greek_5x7
#elif ENABLED(DISPLAY_CHARSET_ISO10646_CN)
#include "dogm/dogm_font_data_ISO10646_CN.h"
#define FONT_MENU_NAME ISO10646_CN
#define TALL_FONT_CORRECTION 1
#elif ENABLED(DISPLAY_CHARSET_ISO10646_TR)
#include "dogm/dogm_font_data_ISO10646_1_tr.h"
#define FONT_MENU_NAME ISO10646_TR
#elif ENABLED(DISPLAY_CHARSET_ISO10646_CZ)
#include "dogm/dogm_font_data_ISO10646_CZ.h"
#define FONT_MENU_NAME ISO10646_CZ
#elif ENABLED(DISPLAY_CHARSET_ISO10646_SK)
#include "dogm/dogm_font_data_ISO10646_SK.h"
#define FONT_MENU_NAME ISO10646_SK
#else // fall-back
#include "dogm/dogm_font_data_ISO10646_1.h"
#define FONT_MENU_NAME ISO10646_1_5x7
#endif
#else // SIMULATE_ROMFONT
#if DISPLAY_CHARSET_HD44780 == JAPANESE
#include "dogm/dogm_font_data_HD44780_J.h"
#define FONT_MENU_NAME HD44780_J_5x7
#elif DISPLAY_CHARSET_HD44780 == WESTERN
#include "dogm/dogm_font_data_HD44780_W.h"
#define FONT_MENU_NAME HD44780_W_5x7
#elif DISPLAY_CHARSET_HD44780 == CYRILLIC
#include "dogm/dogm_font_data_HD44780_C.h"
#define FONT_MENU_NAME HD44780_C_5x7
#else // fall-back
#include "dogm/dogm_font_data_ISO10646_1.h"
#define FONT_MENU_NAME ISO10646_1_5x7
#endif
#endif // SIMULATE_ROMFONT
//#define FONT_STATUSMENU_NAME FONT_MENU_NAME //#define FONT_STATUSMENU_NAME FONT_MENU_NAME
@ -227,6 +187,8 @@
U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 stripes U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 stripes
#endif #endif
U8GLIB *pu8g = &u8g;
#ifndef LCD_PIXEL_WIDTH #ifndef LCD_PIXEL_WIDTH
#define LCD_PIXEL_WIDTH 128 #define LCD_PIXEL_WIDTH 128
#endif #endif
@ -234,7 +196,7 @@
#define LCD_PIXEL_HEIGHT 64 #define LCD_PIXEL_HEIGHT 64
#endif #endif
#include "utf_mapper.h" #include "lcdprint.h"
int16_t lcd_contrast; // Initialized by settings.load() int16_t lcd_contrast; // Initialized by settings.load()
static char currentfont = 0; static char currentfont = 0;
@ -249,50 +211,13 @@ u8g_page_t &page = ((u8g_pb_t *)((u8g.getU8g())->dev->dev_mem))->p;
static void lcd_setFont(const char font_nr) { static void lcd_setFont(const char font_nr) {
switch (font_nr) { switch (font_nr) {
case FONT_STATUSMENU : {u8g.setFont(FONT_STATUSMENU_NAME); currentfont = FONT_STATUSMENU;}; break; case FONT_STATUSMENU : {u8g.setFont(FONT_STATUSMENU_NAME); currentfont = FONT_STATUSMENU;}; break;
default:
case FONT_MENU : {u8g.setFont(FONT_MENU_NAME); currentfont = FONT_MENU;}; break; case FONT_MENU : {u8g.setFont(FONT_MENU_NAME); currentfont = FONT_MENU;}; break;
case FONT_SPECIAL : {u8g.setFont(FONT_SPECIAL_NAME); currentfont = FONT_SPECIAL;}; break; case FONT_SPECIAL : {u8g.setFont(FONT_SPECIAL_NAME); currentfont = FONT_SPECIAL;}; break;
case FONT_MENU_EDIT : {u8g.setFont(FONT_MENU_EDIT_NAME); currentfont = FONT_MENU_EDIT;}; break; case FONT_MENU_EDIT : {u8g.setFont(FONT_MENU_EDIT_NAME); currentfont = FONT_MENU_EDIT;}; break;
break;
} }
} }
void lcd_print(const char c) {
if (WITHIN(c, 1, LCD_STR_SPECIAL_MAX)) {
u8g.setFont(FONT_SPECIAL_NAME);
u8g.print(c);
lcd_setFont(currentfont);
}
else charset_mapper(c);
}
char lcd_print_and_count(const char c) {
if (WITHIN(c, 1, LCD_STR_SPECIAL_MAX)) {
u8g.setFont(FONT_SPECIAL_NAME);
u8g.print(c);
lcd_setFont(currentfont);
return 1;
}
else return charset_mapper(c);
}
/**
* Core LCD printing functions
* On DOGM all strings go through a filter for utf
* But only use lcd_print_utf and lcd_printPGM_utf for translated text
*/
void lcd_print(const char *str) { while (*str) lcd_print(*str++); }
void lcd_printPGM(const char *str) { while (const char c = pgm_read_byte(str)) lcd_print(c), ++str; }
void lcd_print_utf(const char *str, uint8_t n=LCD_WIDTH) {
char c;
while (n && (c = *str)) n -= charset_mapper(c), ++str;
}
void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
char c;
while (n && (c = pgm_read_byte(str))) n -= charset_mapper(c), ++str;
}
#if ENABLED(SHOW_BOOTSCREEN) #if ENABLED(SHOW_BOOTSCREEN)
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) #if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
@ -400,6 +325,8 @@ static void lcd_implementation_init() {
#elif ENABLED(LCD_SCREEN_ROT_270) #elif ENABLED(LCD_SCREEN_ROT_270)
u8g.setRot270(); // Rotate screen by 270° u8g.setRot270(); // Rotate screen by 270°
#endif #endif
uxg_SetUtf8Fonts (g_fontinfo, NUM_ARRAY(g_fontinfo));
} }
// The kill screen is displayed for unrecoverable conditions // The kill screen is displayed for unrecoverable conditions
@ -411,12 +338,12 @@ void lcd_kill_screen() {
u8g.firstPage(); u8g.firstPage();
do { do {
lcd_setFont(FONT_MENU); lcd_setFont(FONT_MENU);
u8g.setPrintPos(0, h4 * 1); lcd_moveto(0, h4 * 1);
lcd_print_utf(lcd_status_message); lcd_put_u8str(lcd_status_message);
u8g.setPrintPos(0, h4 * 2); lcd_moveto(0, h4 * 2);
lcd_printPGM_utf(PSTR(MSG_HALTED)); lcd_put_u8str_rom(PSTR(MSG_HALTED));
u8g.setPrintPos(0, h4 * 3); lcd_moveto(0, h4 * 3);
lcd_printPGM_utf(PSTR(MSG_PLEASE_RESET)); lcd_put_u8str_rom(PSTR(MSG_PLEASE_RESET));
} while (u8g.nextPage()); } while (u8g.nextPage());
} }
@ -435,25 +362,25 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
if (!PAGE_CONTAINS(row_y1 + 1, row_y2 + 2)) return; if (!PAGE_CONTAINS(row_y1 + 1, row_y2 + 2)) return;
u8g.setPrintPos(LCD_PIXEL_WIDTH - 11 * (DOG_CHAR_WIDTH), row_y2); lcd_moveto(LCD_PIXEL_WIDTH - 11 * (DOG_CHAR_WIDTH), row_y2);
lcd_print('E'); lcd_put_wchar('E');
lcd_print((char)('1' + extruder)); lcd_put_wchar((char)('1' + extruder));
lcd_print(' '); lcd_put_wchar(' ');
lcd_print(itostr3(thermalManager.degHotend(extruder))); lcd_put_u8str(itostr3(thermalManager.degHotend(extruder)));
lcd_print('/'); lcd_put_wchar('/');
if (lcd_blink() || !thermalManager.is_heater_idle(extruder)) if (lcd_blink() || !thermalManager.is_heater_idle(extruder))
lcd_print(itostr3(thermalManager.degTargetHotend(extruder))); lcd_put_u8str(itostr3(thermalManager.degTargetHotend(extruder)));
} }
#endif // ADVANCED_PAUSE_FEATURE #endif // ADVANCED_PAUSE_FEATURE
// Set the colors for a menu item based on whether it is selected // Set the colors for a menu item based on whether it is selected
static void lcd_implementation_mark_as_selected(const uint8_t row, const bool isSelected) { static bool lcd_implementation_mark_as_selected(const uint8_t row, const bool isSelected) {
row_y1 = row * row_height + 1; row_y1 = row * row_height + 1;
row_y2 = row_y1 + row_height - 1; row_y2 = row_y1 + row_height - 1;
if (!PAGE_CONTAINS(row_y1 + 1, row_y2 + 2)) return; if (!PAGE_CONTAINS(row_y1 + 1, row_y2 + 2)) return false;
if (isSelected) { if (isSelected) {
#if ENABLED(MENU_HOLLOW_FRAME) #if ENABLED(MENU_HOLLOW_FRAME)
@ -470,51 +397,46 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
u8g.setColorIndex(1); // unmarked text is black on white u8g.setColorIndex(1); // unmarked text is black on white
} }
#endif #endif
u8g.setPrintPos((START_COL) * (DOG_CHAR_WIDTH), row_y2);
if (!PAGE_CONTAINS(row_y1, row_y2)) return false;
lcd_moveto((START_COL) * (DOG_CHAR_WIDTH), row_y2);
return true;
} }
// Draw a static line of text in the same idiom as a menu item // Draw a static line of text in the same idiom as a menu item
static void lcd_implementation_drawmenu_static(const uint8_t row, const char* pstr, const bool center=true, const bool invert=false, const char* valstr=NULL) { static void lcd_implementation_drawmenu_static(const uint8_t row, const char* pstr, const bool center=true, const bool invert=false, const char* valstr=NULL) {
lcd_implementation_mark_as_selected(row, invert); if (lcd_implementation_mark_as_selected(row, invert)) {
if (!PAGE_CONTAINS(row_y1, row_y2)) return; uint8_t n = LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH) * (START_COL); // pixel width of string allowed
char c; if (center && !valstr) {
int8_t n = LCD_WIDTH - (START_COL); int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
while (--pad >= 0) { lcd_put_wchar(' '); n--; }
}
n -= lcd_put_u8str_max_rom(pstr, n);
if (NULL != valstr) {
n -= lcd_put_u8str_max(valstr, n);
}
if (center && !valstr) { while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); }
int8_t pad = (LCD_WIDTH - lcd_strlen_P(pstr)) / 2;
while (--pad >= 0) { u8g.print(' '); n--; }
} }
while (n > 0 && (c = pgm_read_byte(pstr))) {
n -= lcd_print_and_count(c);
pstr++;
}
if (valstr) while (n > 0 && (c = *valstr)) {
n -= lcd_print_and_count(c);
valstr++;
}
while (n-- > 0) u8g.print(' ');
} }
// Draw a generic menu item // Draw a generic menu item
static void lcd_implementation_drawmenu_generic(const bool isSelected, const uint8_t row, const char* pstr, const char pre_char, const char post_char) { static void lcd_implementation_drawmenu_generic(const bool isSelected, const uint8_t row, const char* pstr, const char pre_char, const char post_char) {
UNUSED(pre_char); UNUSED(pre_char);
lcd_implementation_mark_as_selected(row, isSelected); if (lcd_implementation_mark_as_selected(row, isSelected)) {
uint8_t n = LCD_WIDTH - (START_COL) - 2;
if (!PAGE_CONTAINS(row_y1, row_y2)) return; n *= DOG_CHAR_WIDTH;
n -= lcd_put_u8str_max_rom(pstr, n);
uint8_t n = LCD_WIDTH - (START_COL) - 2; while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); }
while (char c = pgm_read_byte(pstr)) { lcd_moveto(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH), row_y2);
n -= lcd_print_and_count(c); lcd_put_wchar(post_char);
pstr++; lcd_put_wchar(' ');
} }
while (n--) u8g.print(' ');
u8g.setPrintPos(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH), row_y2);
lcd_print(post_char);
u8g.print(' ');
} }
// Macros for specific types of menu items // Macros for specific types of menu items
@ -525,22 +447,16 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
// Draw a menu item with an editable value // Draw a menu item with an editable value
static void _drawmenu_setting_edit_generic(const bool isSelected, const uint8_t row, const char* pstr, const char* const data, const bool pgm) { static void _drawmenu_setting_edit_generic(const bool isSelected, const uint8_t row, const char* pstr, const char* const data, const bool pgm) {
if (lcd_implementation_mark_as_selected(row, isSelected)) {
lcd_implementation_mark_as_selected(row, isSelected); const uint8_t vallen = (pgm ? utf8_strlen_P(data) : utf8_strlen((char*)data));
uint8_t n = LCD_WIDTH - (START_COL) - 2 - vallen;
if (!PAGE_CONTAINS(row_y1, row_y2)) return; n *= DOG_CHAR_WIDTH;
n -= lcd_put_u8str_max_rom(pstr, n);
const uint8_t vallen = (pgm ? lcd_strlen_P(data) : (lcd_strlen((char*)data))); lcd_put_wchar(':');
uint8_t n = LCD_WIDTH - (START_COL) - 2 - vallen; while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); }
lcd_moveto(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH) * vallen, row_y2);
while (char c = pgm_read_byte(pstr)) { if (pgm) lcd_put_u8str_rom(data); else lcd_put_u8str((char*)data);
n -= lcd_print_and_count(c);
pstr++;
} }
u8g.print(':');
while (n--) u8g.print(' ');
u8g.setPrintPos(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH) * vallen, row_y2);
if (pgm) lcd_printPGM(data); else lcd_print((char*)data);
} }
// Macros for edit items // Macros for edit items
@ -551,8 +467,8 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
#define DRAW_BOOL_SETTING(sel, row, pstr, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF)) #define DRAW_BOOL_SETTING(sel, row, pstr, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
void lcd_implementation_drawedit(const char* const pstr, const char* const value=NULL) { void lcd_implementation_drawedit(const char* const pstr, const char* const value=NULL) {
const uint8_t labellen = lcd_strlen_P(pstr), const uint8_t labellen = utf8_strlen_P(pstr),
vallen = lcd_strlen(value); vallen = utf8_strlen(value);
uint8_t rows = (labellen > LCD_WIDTH - 2 - vallen) ? 2 : 1; uint8_t rows = (labellen > LCD_WIDTH - 2 - vallen) ? 2 : 1;
@ -582,20 +498,20 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
bool onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline); bool onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline);
if (onpage) { if (onpage) {
u8g.setPrintPos(0, baseline); lcd_moveto(0, baseline);
lcd_printPGM_utf(pstr); lcd_put_u8str_rom(pstr);
} }
if (value != NULL) { if (value != NULL) {
u8g.print(':'); lcd_put_wchar(':');
if (rows == 2) { if (rows == 2) {
baseline += segmentHeight; baseline += segmentHeight;
onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline); onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline);
} }
if (onpage) { if (onpage) {
u8g.setPrintPos(((lcd_width - 1) - (vallen + 1)) * char_width, baseline); // Right-justified, leaving padded by spaces lcd_moveto(((lcd_width - 1) - (vallen + 1)) * char_width, baseline); // Right-justified, leaving padded by spaces
u8g.print(' '); // overwrite char if value gets shorter lcd_put_wchar(' '); // overwrite char if value gets shorter
lcd_print(value); lcd_put_u8str(value);
} }
} }
} }
@ -619,7 +535,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor
if (filename_scroll_hash != name_hash) { // If the hash changed... if (filename_scroll_hash != name_hash) { // If the hash changed...
filename_scroll_hash = name_hash; // Save the new hash filename_scroll_hash = name_hash; // Save the new hash
filename_scroll_max = max(0, lcd_strlen(longFilename) - maxlen); // Update the scroll limit filename_scroll_max = max(0, utf8_strlen(longFilename) - maxlen); // Update the scroll limit
filename_scroll_pos = 0; // Reset scroll to the start filename_scroll_pos = 0; // Reset scroll to the start
lcd_status_update_delay = 8; // Don't scroll right away lcd_status_update_delay = 8; // Don't scroll right away
} }
@ -630,15 +546,12 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
#endif #endif
} }
if (isDir) lcd_print(LCD_STR_FOLDER[0]); if (isDir) lcd_put_wchar(LCD_STR_FOLDER[0]);
char c; int n;
uint8_t n = maxlen; n = lcd_put_u8str_max(outstr, maxlen * (DOG_CHAR_WIDTH));
while (n && (c = *outstr)) { n = maxlen * (DOG_CHAR_WIDTH) - n;
n -= lcd_print_and_count(c); while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); }
++outstr;
}
while (n) { --n; u8g.print(' '); }
} }
#define lcd_implementation_drawmenu_sdfile(sel, row, pstr, filename, longFilename) _drawmenu_sd(sel, row, pstr, filename, longFilename, false) #define lcd_implementation_drawmenu_sdfile(sel, row, pstr, filename, longFilename) _drawmenu_sd(sel, row, pstr, filename, longFilename, false)
@ -705,30 +618,30 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
// Show X and Y positions at top of screen // Show X and Y positions at top of screen
u8g.setColorIndex(1); u8g.setColorIndex(1);
if (PAGE_UNDER(7)) { if (PAGE_UNDER(7)) {
u8g.setPrintPos(5, 7); lcd_moveto(5, 7);
lcd_print("X:"); lcd_put_u8str("X:");
lcd_print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot])))); lcd_put_u8str(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot]))));
u8g.setPrintPos(74, 7); lcd_moveto(74, 7);
lcd_print("Y:"); lcd_put_u8str("Y:");
lcd_print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); lcd_put_u8str(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot]))));
} }
// Print plot position // Print plot position
if (PAGE_CONTAINS(LCD_PIXEL_HEIGHT - (INFO_FONT_HEIGHT - 1), LCD_PIXEL_HEIGHT)) { if (PAGE_CONTAINS(LCD_PIXEL_HEIGHT - (INFO_FONT_HEIGHT - 1), LCD_PIXEL_HEIGHT)) {
u8g.setPrintPos(5, LCD_PIXEL_HEIGHT); lcd_moveto(5, LCD_PIXEL_HEIGHT);
lcd_print('('); lcd_put_wchar('(');
u8g.print(x_plot); u8g.print(x_plot);
lcd_print(','); lcd_put_wchar(',');
u8g.print(y_plot); u8g.print(y_plot);
lcd_print(')'); lcd_put_wchar(')');
// Show the location value // Show the location value
u8g.setPrintPos(74, LCD_PIXEL_HEIGHT); lcd_moveto(74, LCD_PIXEL_HEIGHT);
lcd_print("Z:"); lcd_put_u8str("Z:");
if (!isnan(ubl.z_values[x_plot][y_plot])) if (!isnan(ubl.z_values[x_plot][y_plot]))
lcd_print(ftostr43sign(ubl.z_values[x_plot][y_plot])); lcd_put_u8str(ftostr43sign(ubl.z_values[x_plot][y_plot]));
else else
lcd_printPGM(PSTR(" -----")); lcd_put_u8str_rom(PSTR(" -----"));
} }
} }

View file

@ -28,133 +28,14 @@
* These are the most common LCD character displays. * These are the most common LCD character displays.
*/ */
#include "../inc/MarlinConfig.h" #include "ultralcd_common_HD44780.h"
#if LCD_HEIGHT > 3
#include "../libs/duration_t.h"
#endif
#if ENABLED(AUTO_BED_LEVELING_UBL)
#include "../feature/bedlevel/ubl/ubl.h"
#if ENABLED(ULTIPANEL)
#define ULTRA_X_PIXELS_PER_CHAR 5
#define ULTRA_Y_PIXELS_PER_CHAR 8
#define ULTRA_COLUMNS_FOR_MESH_MAP 7
#define ULTRA_ROWS_FOR_MESH_MAP 4
#define N_USER_CHARS 8
#define TOP_LEFT _BV(0)
#define TOP_RIGHT _BV(1)
#define LOWER_LEFT _BV(2)
#define LOWER_RIGHT _BV(3)
#endif
#endif
#include <binary.h>
extern volatile uint8_t buttons; //an extended version of the last checked buttons in a bit array.
////////////////////////////////////
// Setup button and encode mappings for each panel (into 'buttons' variable
//
// This is just to map common functions (across different panels) onto the same
// macro name. The mapping is independent of whether the button is directly connected or
// via a shift/i2c register.
#if ENABLED(ULTIPANEL)
//
// Setup other button mappings of each panel
//
#if ENABLED(LCD_I2C_VIKI)
#define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
// button and encoder bit positions within 'buttons'
#define B_LE (BUTTON_LEFT<<B_I2C_BTN_OFFSET) // The remaining normalized buttons are all read via I2C
#define B_UP (BUTTON_UP<<B_I2C_BTN_OFFSET)
#define B_MI (BUTTON_SELECT<<B_I2C_BTN_OFFSET)
#define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET)
#define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET)
#undef LCD_CLICKED
#if BUTTON_EXISTS(ENC)
// the pause/stop/restart button is connected to BTN_ENC when used
#define B_ST (EN_C) // Map the pause/stop/resume button into its normalized functional name
#define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop.
#else
#define LCD_CLICKED (buttons&(B_MI|B_RI))
#endif
// I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
#define LCD_HAS_SLOW_BUTTONS
#elif ENABLED(LCD_I2C_PANELOLU2)
#if !BUTTON_EXISTS(ENC) // Use I2C if not directly connected to a pin
#define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
#define B_MI (PANELOLU2_ENCODER_C<<B_I2C_BTN_OFFSET) // requires LiquidTWI2 library v1.2.3 or later
#undef LCD_CLICKED
#define LCD_CLICKED (buttons & B_MI)
// I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
#define LCD_HAS_SLOW_BUTTONS
#endif
#elif DISABLED(NEWPANEL) // old style ULTIPANEL
// Shift register bits correspond to buttons:
#define BL_LE 7 // Left
#define BL_UP 6 // Up
#define BL_MI 5 // Middle
#define BL_DW 4 // Down
#define BL_RI 3 // Right
#define BL_ST 2 // Red Button
#define B_LE (_BV(BL_LE))
#define B_UP (_BV(BL_UP))
#define B_MI (_BV(BL_MI))
#define B_DW (_BV(BL_DW))
#define B_RI (_BV(BL_RI))
#define B_ST (_BV(BL_ST))
#define LCD_CLICKED (buttons & (B_MI|B_ST))
#endif
#endif // ULTIPANEL
//////////////////////////////////// ////////////////////////////////////
// Create LCD class instance and chipset-specific information // Create LCD class instance and chipset-specific information
#if ENABLED(LCD_I2C_TYPE_PCF8575) #if ENABLED(LCD_I2C_TYPE_PCF8575)
// note: these are register mapped pins on the PCF8575 controller not Arduino pins
#define LCD_I2C_PIN_BL 3
#define LCD_I2C_PIN_EN 2
#define LCD_I2C_PIN_RW 1
#define LCD_I2C_PIN_RS 0
#define LCD_I2C_PIN_D4 4
#define LCD_I2C_PIN_D5 5
#define LCD_I2C_PIN_D6 6
#define LCD_I2C_PIN_D7 7
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_I2C_PIN_EN, LCD_I2C_PIN_RW, LCD_I2C_PIN_RS, LCD_I2C_PIN_D4, LCD_I2C_PIN_D5, LCD_I2C_PIN_D6, LCD_I2C_PIN_D7); LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_I2C_PIN_EN, LCD_I2C_PIN_RW, LCD_I2C_PIN_RS, LCD_I2C_PIN_D4, LCD_I2C_PIN_D5, LCD_I2C_PIN_D6, LCD_I2C_PIN_D7);
#elif ENABLED(LCD_I2C_TYPE_MCP23017) #elif ENABLED(LCD_I2C_TYPE_MCP23017)
//for the LED indicators (which maybe mapped to different things in lcd_implementation_update_indicators())
#define LED_A 0x04 //100
#define LED_B 0x02 //010
#define LED_C 0x01 //001
#define LCD_HAS_STATUS_INDICATORS
#include <Wire.h>
#include <LiquidTWI2.h>
#define LCD_CLASS LiquidTWI2
#if ENABLED(DETECT_DEVICE) #if ENABLED(DETECT_DEVICE)
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
#else #else
@ -162,9 +43,6 @@ extern volatile uint8_t buttons; //an extended version of the last checked butt
#endif #endif
#elif ENABLED(LCD_I2C_TYPE_MCP23008) #elif ENABLED(LCD_I2C_TYPE_MCP23008)
#include <Wire.h>
#include <LiquidTWI2.h>
#define LCD_CLASS LiquidTWI2
#if ENABLED(DETECT_DEVICE) #if ENABLED(DETECT_DEVICE)
LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
#else #else
@ -172,43 +50,33 @@ extern volatile uint8_t buttons; //an extended version of the last checked butt
#endif #endif
#elif ENABLED(LCD_I2C_TYPE_PCA8574) #elif ENABLED(LCD_I2C_TYPE_PCA8574)
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT); LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT);
// 2 wire Non-latching LCD SR from: // 2 wire Non-latching LCD SR from:
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
#elif ENABLED(SR_LCD_2W_NL) #elif ENABLED(SR_LCD_2W_NL)
extern "C" void __cxa_pure_virtual() { while (1); }
#include <LCD.h>
#include <LiquidCrystal_SR.h>
#define LCD_CLASS LiquidCrystal_SR
#if PIN_EXISTS(SR_STROBE) #if PIN_EXISTS(SR_STROBE)
LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN, SR_STROBE_PIN); LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN, SR_STROBE_PIN);
#else #else
LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN); LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN);
#endif #endif
#elif ENABLED(LCM1602) #elif ENABLED(LCM1602)
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C
LCD_CLASS lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); LCD_CLASS lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#else #else
// Standard directly connected LCD implementations // Standard directly connected LCD implementations
#include <LiquidCrystal.h>
#define LCD_CLASS LiquidCrystal
LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5, LCD_PINS_D6, LCD_PINS_D7); //RS,Enable,D4,D5,D6,D7 LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5, LCD_PINS_D6, LCD_PINS_D7); //RS,Enable,D4,D5,D6,D7
#endif #endif
#include "utf_mapper.h" #include "fontutils.h"
#include "lcdprint.h"
#if ENABLED(LCD_PROGRESS_BAR) #if ENABLED(LCD_PROGRESS_BAR)
static millis_t progress_bar_ms = 0; // Start millis of the current progress bar cycle static millis_t progress_bar_ms = 0; // Start millis of the current progress bar cycle
#if PROGRESS_MSG_EXPIRE > 0 #if PROGRESS_MSG_EXPIRE > 0
static millis_t expire_status_ms = 0; // millis at which to expire the status message static millis_t expire_status_ms = 0; // millis at which to expire the status message
#endif #endif
#define LCD_STR_PROGRESS "\x03\x04\x05"
#endif #endif
#if ENABLED(LCD_HAS_STATUS_INDICATORS) #if ENABLED(LCD_HAS_STATUS_INDICATORS)
@ -222,12 +90,6 @@ static void createChar_P(const char c, const byte * const ptr) {
lcd.createChar(c, temp); lcd.createChar(c, temp);
} }
enum HD44780CharSet : char {
CHARSET_MENU,
CHARSET_INFO,
CHARSET_BOOT
};
static void lcd_set_custom_characters( static void lcd_set_custom_characters(
#if ENABLED(LCD_PROGRESS_BAR) || ENABLED(SHOW_BOOTSCREEN) #if ENABLED(LCD_PROGRESS_BAR) || ENABLED(SHOW_BOOTSCREEN)
const uint8_t screen_charset=CHARSET_INFO const uint8_t screen_charset=CHARSET_INFO
@ -476,46 +338,35 @@ static void lcd_implementation_init(
void lcd_implementation_clear() { lcd.clear(); } void lcd_implementation_clear() { lcd.clear(); }
void lcd_print(const char c) { charset_mapper(c); }
void lcd_print(const char *str) { while (*str) lcd.print(*str++); }
void lcd_printPGM(const char *str) { while (const char c = pgm_read_byte(str)) lcd.print(c), ++str; }
void lcd_print_utf(const char *str, uint8_t n=LCD_WIDTH) {
char c;
while (n && (c = *str)) n -= charset_mapper(c), ++str;
}
void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
char c;
while (n && (c = pgm_read_byte(str))) n -= charset_mapper(c), ++str;
}
#if ENABLED(SHOW_BOOTSCREEN) #if ENABLED(SHOW_BOOTSCREEN)
void lcd_erase_line(const int16_t line) { void lcd_erase_line(const int16_t line) {
lcd.setCursor(0, line); lcd_moveto(0, line);
for (uint8_t i = LCD_WIDTH + 1; --i;) for (uint8_t i = LCD_WIDTH + 1; --i;)
lcd.write(' '); lcd_put_wchar(' ');
} }
// Scroll the PSTR 'text' in a 'len' wide field for 'time' milliseconds at position col,line // Scroll the PSTR 'text' in a 'len' wide field for 'time' milliseconds at position col,line
void lcd_scroll(const int16_t col, const int16_t line, const char* const text, const int16_t len, const int16_t time) { void lcd_scroll(const int16_t col, const int16_t line, const char* const text, const int16_t len, const int16_t time) {
char tmp[LCD_WIDTH + 1] = {0}; #if 1
int16_t n = max(lcd_strlen_P(text) - len, 0); lcd_put_u8str(text);
for (int16_t i = 0; i <= n; i++) { #else
strncpy_P(tmp, text + i, min(len, LCD_WIDTH)); char tmp[LCD_WIDTH + 1] = {0};
lcd.setCursor(col, line); int16_t n = max(utf8_strlen_P(text) - len, 0);
lcd_print(tmp); for (int16_t i = 0; i <= n; i++) {
delay(time / max(n, 1)); utf8_strncpy_p(tmp, text + i, min(len, LCD_WIDTH));
} lcd_moveto(col, line);
lcd_put_u8str(tmp);
delay(time / max(n, 1));
}
#endif
} }
static void logo_lines(const char* const extra) { static void logo_lines(const char* const extra) {
int16_t indent = (LCD_WIDTH - 8 - lcd_strlen_P(extra)) / 2; int16_t indent = (LCD_WIDTH - 8 - utf8_strlen_P(extra)) / 2;
lcd.setCursor(indent, 0); lcd.print('\x00'); lcd_printPGM(PSTR( "------" )); lcd.write('\x01'); lcd_moveto(indent, 0); lcd_put_wchar('\x00'); lcd_put_u8str_rom(PSTR( "------" )); lcd_put_wchar('\x01');
lcd.setCursor(indent, 1); lcd_printPGM(PSTR("|Marlin|")); lcd_printPGM(extra); lcd_moveto(indent, 1); lcd_put_u8str_rom(PSTR("|Marlin|")); lcd_put_u8str_rom(extra);
lcd.setCursor(indent, 2); lcd.write('\x02'); lcd_printPGM(PSTR( "------" )); lcd.write('\x03'); lcd_moveto(indent, 2); lcd_put_wchar('\x02'); lcd_put_u8str_rom(PSTR( "------" )); lcd_put_wchar('\x03');
} }
void lcd_bootscreen() { void lcd_bootscreen() {
@ -526,9 +377,9 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
#define CENTER_OR_SCROLL(STRING,DELAY) \ #define CENTER_OR_SCROLL(STRING,DELAY) \
lcd_erase_line(3); \ lcd_erase_line(3); \
if (strlen(STRING) <= LCD_WIDTH) { \ if (utf8_strlen(STRING) <= LCD_WIDTH) { \
lcd.setCursor((LCD_WIDTH - lcd_strlen_P(PSTR(STRING))) / 2, 3); \ lcd_moveto((LCD_WIDTH - utf8_strlen_P(PSTR(STRING))) / 2, 3); \
lcd_printPGM_utf(PSTR(STRING)); \ lcd_put_u8str_rom(PSTR(STRING)); \
safe_delay(DELAY); \ safe_delay(DELAY); \
} \ } \
else { \ else { \
@ -539,7 +390,7 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
// //
// Show the Marlin logo with splash line 1 // Show the Marlin logo with splash line 1
// //
if (LCD_EXTRA_SPACE >= strlen(STRING_SPLASH_LINE1) + 1) { if (LCD_EXTRA_SPACE >= utf8_strlen(STRING_SPLASH_LINE1) + 1) {
// //
// Show the Marlin logo, splash line1, and splash line 2 // Show the Marlin logo, splash line1, and splash line 2
// //
@ -570,7 +421,7 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
// //
// Show splash line 2 only, alongside the logo if possible // Show splash line 2 only, alongside the logo if possible
// //
if (LCD_EXTRA_SPACE >= strlen(STRING_SPLASH_LINE2) + 1) { if (LCD_EXTRA_SPACE >= utf8_strlen(STRING_SPLASH_LINE2) + 1) {
logo_lines(PSTR(" " STRING_SPLASH_LINE2)); logo_lines(PSTR(" " STRING_SPLASH_LINE2));
safe_delay(2000); safe_delay(2000);
} }
@ -595,31 +446,31 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) {
#endif // SHOW_BOOTSCREEN #endif // SHOW_BOOTSCREEN
void lcd_kill_screen() { void lcd_kill_screen() {
lcd.setCursor(0, 0); lcd_moveto(0, 0);
lcd_print_utf(lcd_status_message); lcd_put_u8str(lcd_status_message);
#if LCD_HEIGHT < 4 #if LCD_HEIGHT < 4
lcd.setCursor(0, 2); lcd_moveto(0, 2);
#else #else
lcd.setCursor(0, 2); lcd_moveto(0, 2);
lcd_printPGM_utf(PSTR(MSG_HALTED)); lcd_put_u8str_rom(PSTR(MSG_HALTED));
lcd.setCursor(0, 3); lcd_moveto(0, 3);
#endif #endif
lcd_printPGM_utf(PSTR(MSG_PLEASE_RESET)); lcd_put_u8str_rom(PSTR(MSG_PLEASE_RESET));
} }
FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) { FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) {
if (blink) if (blink)
lcd_printPGM(pstr); lcd_put_u8str_rom(pstr);
else { else {
if (!axis_homed[axis]) if (!axis_homed[axis])
lcd.write('?'); lcd_put_wchar('?');
else { else {
#if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) #if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING)
if (!axis_known_position[axis]) if (!axis_known_position[axis])
lcd.write(' '); lcd_put_wchar(' ');
else else
#endif #endif
lcd_printPGM(pstr); lcd_put_u8str_rom(pstr);
} }
} }
} }
@ -634,10 +485,10 @@ FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, co
const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)), const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)),
t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater)); t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater));
if (prefix >= 0) lcd.print(prefix); if (prefix >= 0) lcd_put_wchar(prefix);
lcd.print(itostr3(t1 + 0.5)); lcd_put_u8str(itostr3(t1 + 0.5));
lcd.write('/'); lcd_put_wchar('/');
#if !HEATER_IDLE_HANDLER #if !HEATER_IDLE_HANDLER
UNUSED(blink); UNUSED(blink);
@ -651,18 +502,18 @@ FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, co
); );
if (!blink && is_idle) { if (!blink && is_idle) {
lcd.write(' '); lcd_put_wchar(' ');
if (t2 >= 10) lcd.write(' '); if (t2 >= 10) lcd_put_wchar(' ');
if (t2 >= 100) lcd.write(' '); if (t2 >= 100) lcd_put_wchar(' ');
} }
else else
#endif #endif
lcd.print(itostr3left(t2 + 0.5)); lcd_put_u8str(itostr3left(t2 + 0.5));
if (prefix >= 0) { if (prefix >= 0) {
lcd.print((char)LCD_DEGREE_CHAR); lcd_put_wchar(LCD_DEGREE_CHAR);
lcd.write(' '); lcd_put_wchar(' ');
if (t2 < 10) lcd.write(' '); if (t2 < 10) lcd_put_wchar(' ');
} }
} }
@ -682,7 +533,7 @@ FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, co
b = LCD_STR_PROGRESS[rem - 1]; b = LCD_STR_PROGRESS[rem - 1];
msg[i] = b; msg[i] = b;
} }
lcd.print(msg); lcd_put_u8str(msg);
} }
#endif // LCD_PROGRESS_BAR #endif // LCD_PROGRESS_BAR
@ -717,7 +568,7 @@ static void lcd_implementation_status_screen() {
// Line 1 // Line 1
// //
lcd.setCursor(0, 0); lcd_moveto(0, 0);
#if LCD_WIDTH < 20 #if LCD_WIDTH < 20
@ -731,12 +582,12 @@ static void lcd_implementation_status_screen() {
// //
#if HOTENDS > 1 || TEMP_SENSOR_BED #if HOTENDS > 1 || TEMP_SENSOR_BED
lcd.setCursor(8, 0); lcd_moveto(8, 0);
#if HOTENDS > 1 #if HOTENDS > 1
lcd.print((char)LCD_STR_THERMOMETER[0]); lcd_put_wchar((char)LCD_STR_THERMOMETER[0]);
_draw_heater_status(1, -1, blink); _draw_heater_status(1, -1, blink);
#else #else
lcd.print((char)LCD_BEDTEMP_CHAR); lcd_put_wchar((char)LCD_BEDTEMP_CHAR);
_draw_heater_status(-1, -1, blink); _draw_heater_status(-1, -1, blink);
#endif #endif
@ -753,7 +604,7 @@ static void lcd_implementation_status_screen() {
// Hotend 1 or Bed Temperature // Hotend 1 or Bed Temperature
// //
#if HOTENDS > 1 || TEMP_SENSOR_BED #if HOTENDS > 1 || TEMP_SENSOR_BED
lcd.setCursor(10, 0); lcd_moveto(10, 0);
#if HOTENDS > 1 #if HOTENDS > 1
_draw_heater_status(1, LCD_STR_THERMOMETER[0], blink); _draw_heater_status(1, LCD_STR_THERMOMETER[0], blink);
#else #else
@ -778,18 +629,18 @@ static void lcd_implementation_status_screen() {
#if LCD_WIDTH < 20 #if LCD_WIDTH < 20
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
lcd.setCursor(0, 2); lcd_moveto(0, 2);
lcd_printPGM(PSTR("SD")); lcd_put_u8str_rom(PSTR("SD"));
if (IS_SD_PRINTING) if (IS_SD_PRINTING)
lcd.print(itostr3(card.percentDone())); lcd_put_u8str(itostr3(card.percentDone()));
else else
lcd_printPGM(PSTR("---")); lcd_put_u8str_rom(PSTR("---"));
lcd.write('%'); lcd_put_wchar('%');
#endif // SDSUPPORT #endif // SDSUPPORT
#else // LCD_WIDTH >= 20 #else // LCD_WIDTH >= 20
lcd.setCursor(0, 1); lcd_moveto(0, 1);
// If the first line has two extruder temps, // If the first line has two extruder temps,
// show more temperatures on the next line // show more temperatures on the next line
@ -798,7 +649,7 @@ static void lcd_implementation_status_screen() {
#if HOTENDS > 2 #if HOTENDS > 2
_draw_heater_status(2, LCD_STR_THERMOMETER[0], blink); _draw_heater_status(2, LCD_STR_THERMOMETER[0], blink);
lcd.setCursor(10, 1); lcd_moveto(10, 1);
#endif #endif
_draw_heater_status(-1, ( _draw_heater_status(-1, (
@ -814,23 +665,23 @@ static void lcd_implementation_status_screen() {
// When everything is ok you see a constant 'X'. // When everything is ok you see a constant 'X'.
_draw_axis_label(X_AXIS, PSTR(MSG_X), blink); _draw_axis_label(X_AXIS, PSTR(MSG_X), blink);
lcd.print(ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS]))); lcd_put_u8str(ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS])));
lcd.write(' '); lcd_put_wchar(' ');
_draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink);
lcd.print(ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS]))); lcd_put_u8str(ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS])));
#endif // HOTENDS <= 2 && (HOTENDS <= 1 || !TEMP_SENSOR_BED) #endif // HOTENDS <= 2 && (HOTENDS <= 1 || !TEMP_SENSOR_BED)
#endif // LCD_WIDTH >= 20 #endif // LCD_WIDTH >= 20
lcd.setCursor(LCD_WIDTH - 8, 1); lcd_moveto(LCD_WIDTH - 8, 1);
_draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink);
lcd.print(ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS])))); lcd_put_u8str(ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS]))));
#if HAS_LEVELING && !TEMP_SENSOR_BED #if HAS_LEVELING && !TEMP_SENSOR_BED
lcd.write(planner.leveling_active || blink ? '_' : ' '); lcd_put_wchar(planner.leveling_active || blink ? '_' : ' ');
#endif #endif
#endif // LCD_HEIGHT > 2 #endif // LCD_HEIGHT > 2
@ -841,20 +692,20 @@ static void lcd_implementation_status_screen() {
#if LCD_HEIGHT > 3 #if LCD_HEIGHT > 3
lcd.setCursor(0, 2); lcd_moveto(0, 2);
lcd.print((char)LCD_FEEDRATE_CHAR); lcd_put_wchar(LCD_FEEDRATE_CHAR);
lcd.print(itostr3(feedrate_percentage)); lcd_put_u8str(itostr3(feedrate_percentage));
lcd.write('%'); lcd_put_wchar('%');
#if LCD_WIDTH >= 20 && ENABLED(SDSUPPORT) #if LCD_WIDTH >= 20 && ENABLED(SDSUPPORT)
lcd.setCursor(7, 2); lcd_moveto(7, 2);
lcd_printPGM(PSTR("SD")); lcd_put_u8str_rom(PSTR("SD"));
if (IS_SD_PRINTING) if (IS_SD_PRINTING)
lcd.print(itostr3(card.percentDone())); lcd_put_u8str(itostr3(card.percentDone()));
else else
lcd_printPGM(PSTR("---")); lcd_put_u8str_rom(PSTR("---"));
lcd.write('%'); lcd_put_wchar('%');
#endif // LCD_WIDTH >= 20 && SDSUPPORT #endif // LCD_WIDTH >= 20 && SDSUPPORT
@ -862,9 +713,9 @@ static void lcd_implementation_status_screen() {
duration_t elapsed = print_job_timer.duration(); duration_t elapsed = print_job_timer.duration();
uint8_t len = elapsed.toDigital(buffer); uint8_t len = elapsed.toDigital(buffer);
lcd.setCursor(LCD_WIDTH - len - 1, 2); lcd_moveto(LCD_WIDTH - len - 1, 2);
lcd.print((char)LCD_CLOCK_CHAR); lcd_put_wchar(LCD_CLOCK_CHAR);
lcd_print(buffer); lcd_put_u8str(buffer);
#endif // LCD_HEIGHT > 3 #endif // LCD_HEIGHT > 3
@ -873,7 +724,7 @@ static void lcd_implementation_status_screen() {
// Status Message (which may be a Progress Bar or Filament display) // Status Message (which may be a Progress Bar or Filament display)
// //
lcd.setCursor(0, LCD_HEIGHT - 1); lcd_moveto(0, LCD_HEIGHT - 1);
#if ENABLED(LCD_PROGRESS_BAR) #if ENABLED(LCD_PROGRESS_BAR)
@ -890,16 +741,16 @@ static void lcd_implementation_status_screen() {
// Show Filament Diameter and Volumetric Multiplier % // Show Filament Diameter and Volumetric Multiplier %
// After allowing lcd_status_message to show for 5 seconds // After allowing lcd_status_message to show for 5 seconds
if (ELAPSED(millis(), previous_lcd_status_ms + 5000UL)) { if (ELAPSED(millis(), previous_lcd_status_ms + 5000UL)) {
lcd_printPGM(PSTR("Dia ")); lcd_put_u8str_rom(PSTR("Dia "));
lcd.print(ftostr12ns(filament_width_meas)); lcd_put_u8str(ftostr12ns(filament_width_meas));
lcd_printPGM(PSTR(" V")); lcd_put_u8str_rom(PSTR(" V"));
lcd.print(itostr3(100.0 * ( lcd_put_u8str(itostr3(100.0 * (
parser.volumetric_enabled parser.volumetric_enabled
? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] ? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM]
: planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] : planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM]
) )
)); ));
lcd.write('%'); lcd_put_wchar('%');
return; return;
} }
@ -907,24 +758,24 @@ static void lcd_implementation_status_screen() {
#if ENABLED(STATUS_MESSAGE_SCROLLING) #if ENABLED(STATUS_MESSAGE_SCROLLING)
static bool last_blink = false; static bool last_blink = false;
const uint8_t slen = lcd_strlen(lcd_status_message); const uint8_t slen = utf8_strlen(lcd_status_message);
const char *stat = lcd_status_message + status_scroll_pos; const char *stat = lcd_status_message + status_scroll_pos;
if (slen <= LCD_WIDTH) if (slen <= LCD_WIDTH)
lcd_print_utf(stat); // The string isn't scrolling lcd_put_u8str(stat); // The string isn't scrolling
else { else {
if (status_scroll_pos <= slen - LCD_WIDTH) if (status_scroll_pos <= slen - LCD_WIDTH)
lcd_print_utf(stat); // The string fills the screen lcd_put_u8str(stat); // The string fills the screen
else { else {
uint8_t chars = LCD_WIDTH; uint8_t chars = LCD_WIDTH;
if (status_scroll_pos < slen) { // First string still visible if (status_scroll_pos < slen) { // First string still visible
lcd_print_utf(stat); // The string leaves space lcd_put_u8str(stat); // The string leaves space
chars -= slen - status_scroll_pos; // Amount of space left chars -= slen - status_scroll_pos; // Amount of space left
} }
lcd.write('.'); // Always at 1+ spaces left, draw a dot lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot
if (--chars) { if (--chars) {
if (status_scroll_pos < slen + 1) // Draw a second dot if there's space if (status_scroll_pos < slen + 1) // Draw a second dot if there's space
--chars, lcd.write('.'); --chars, lcd_put_wchar('.');
if (chars) lcd_print_utf(lcd_status_message, chars); // Print a second copy of the message if (chars) lcd_put_u8str_max(lcd_status_message, chars); // Print a second copy of the message
} }
} }
if (last_blink != blink) { if (last_blink != blink) {
@ -935,7 +786,7 @@ static void lcd_implementation_status_screen() {
} }
} }
#else #else
lcd_print_utf(lcd_status_message); lcd_put_u8str(lcd_status_message);
#endif #endif
} }
@ -945,7 +796,7 @@ static void lcd_implementation_status_screen() {
static void lcd_implementation_hotend_status(const uint8_t row, const uint8_t extruder=active_extruder) { static void lcd_implementation_hotend_status(const uint8_t row, const uint8_t extruder=active_extruder) {
if (row < LCD_HEIGHT) { if (row < LCD_HEIGHT) {
lcd.setCursor(LCD_WIDTH - 9, row); lcd_moveto(LCD_WIDTH - 9, row);
_draw_heater_status(extruder, LCD_STR_THERMOMETER[0], lcd_blink()); _draw_heater_status(extruder, LCD_STR_THERMOMETER[0], lcd_blink());
} }
} }
@ -954,76 +805,58 @@ static void lcd_implementation_status_screen() {
static void lcd_implementation_drawmenu_static(const uint8_t row, const char* pstr, const bool center=true, const bool invert=false, const char *valstr=NULL) { static void lcd_implementation_drawmenu_static(const uint8_t row, const char* pstr, const bool center=true, const bool invert=false, const char *valstr=NULL) {
UNUSED(invert); UNUSED(invert);
char c;
int8_t n = LCD_WIDTH; int8_t n = LCD_WIDTH;
lcd.setCursor(0, row); lcd_moveto(0, row);
if (center && !valstr) { if (center && !valstr) {
int8_t pad = (LCD_WIDTH - lcd_strlen_P(pstr)) / 2; int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
while (--pad >= 0) { lcd.write(' '); n--; } while (--pad >= 0) { lcd_put_wchar(' '); n--; }
} }
while (n > 0 && (c = pgm_read_byte(pstr))) { n -= lcd_put_u8str_max_rom(pstr, n);
n -= charset_mapper(c); if (valstr) n -= lcd_put_u8str_max(valstr, n);
pstr++; for (; n > 0; --n) lcd_put_wchar(' ');
}
if (valstr) while (n > 0 && (c = *valstr)) {
n -= charset_mapper(c);
valstr++;
}
while (n-- > 0) lcd.write(' ');
} }
static void lcd_implementation_drawmenu_generic(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char post_char) { static void lcd_implementation_drawmenu_generic(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char post_char) {
char c;
uint8_t n = LCD_WIDTH - 2; uint8_t n = LCD_WIDTH - 2;
lcd.setCursor(0, row); lcd_moveto(0, row);
lcd.print(sel ? pre_char : ' '); lcd_put_wchar(sel ? pre_char : ' ');
while ((c = pgm_read_byte(pstr)) && n > 0) { n -= lcd_put_u8str_max_rom(pstr, n);
n -= charset_mapper(c); while (n--) lcd_put_wchar(' ');
pstr++; lcd_put_wchar(post_char);
}
while (n--) lcd.write(' ');
lcd.print(post_char);
} }
static void lcd_implementation_drawmenu_setting_edit_generic(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char* const data) { static void lcd_implementation_drawmenu_setting_edit_generic(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char* const data) {
char c; uint8_t n = LCD_WIDTH - 2 - utf8_strlen(data);
uint8_t n = LCD_WIDTH - 2 - lcd_strlen(data); lcd_moveto(0, row);
lcd.setCursor(0, row); lcd_put_wchar(sel ? pre_char : ' ');
lcd.print(sel ? pre_char : ' '); n -= lcd_put_u8str_max_rom(pstr, n);
while ((c = pgm_read_byte(pstr)) && n > 0) { lcd_put_wchar(':');
n -= charset_mapper(c); while (n--) lcd_put_wchar(' ');
pstr++; lcd_put_u8str(data);
}
lcd.write(':');
while (n--) lcd.write(' ');
lcd_print(data);
} }
static void lcd_implementation_drawmenu_setting_edit_generic_P(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char* const data) { static void lcd_implementation_drawmenu_setting_edit_generic_P(const bool sel, const uint8_t row, const char* pstr, const char pre_char, const char* const data) {
char c; uint8_t n = LCD_WIDTH - 2 - utf8_strlen_P(data);
uint8_t n = LCD_WIDTH - 2 - lcd_strlen_P(data); lcd_moveto(0, row);
lcd.setCursor(0, row); lcd_put_wchar(sel ? pre_char : ' ');
lcd.print(sel ? pre_char : ' '); n -= lcd_put_u8str_max_rom(pstr, n);
while ((c = pgm_read_byte(pstr)) && n > 0) { lcd_put_wchar(':');
n -= charset_mapper(c); while (n--) lcd_put_wchar(' ');
pstr++; lcd_put_u8str_rom(data);
}
lcd.write(':');
while (n--) lcd.write(' ');
lcd_printPGM(data);
} }
#define DRAWMENU_SETTING_EDIT_GENERIC(_src) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', _src) #define DRAWMENU_SETTING_EDIT_GENERIC(_src) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', _src)
#define DRAW_BOOL_SETTING(sel, row, pstr, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF)) #define DRAW_BOOL_SETTING(sel, row, pstr, data) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
void lcd_implementation_drawedit(const char* pstr, const char* const value=NULL) { void lcd_implementation_drawedit(const char* pstr, const char* const value=NULL) {
lcd.setCursor(1, 1); lcd_moveto(1, 1);
lcd_printPGM_utf(pstr); lcd_put_u8str_rom(pstr);
if (value != NULL) { if (value != NULL) {
lcd.write(':'); lcd_put_wchar(':');
const uint8_t valrow = (lcd_strlen_P(pstr) + 1 + lcd_strlen(value) + 1) > (LCD_WIDTH - 2) ? 2 : 1; // Value on the next row if it won't fit int len = utf8_strlen(value);
lcd.setCursor((LCD_WIDTH - 1) - (lcd_strlen(value) + 1), valrow); // Right-justified, padded by spaces const uint8_t valrow = (utf8_strlen_P(pstr) + 1 + len + 1) > (LCD_WIDTH - 2) ? 2 : 1; // Value on the next row if it won't fit
lcd.write(' '); // overwrite char if value gets shorter lcd_moveto((LCD_WIDTH - 1) - (len + 1), valrow); // Right-justified, padded by spaces
lcd_print(value); lcd_put_wchar(' '); // overwrite char if value gets shorter
lcd_put_u8str(value);
} }
} }
@ -1031,8 +864,8 @@ static void lcd_implementation_status_screen() {
static void lcd_implementation_drawmenu_sd(const bool sel, const uint8_t row, const char* const pstr, const char* filename, char* const longFilename, const uint8_t concat, const char post_char) { static void lcd_implementation_drawmenu_sd(const bool sel, const uint8_t row, const char* const pstr, const char* filename, char* const longFilename, const uint8_t concat, const char post_char) {
UNUSED(pstr); UNUSED(pstr);
lcd.setCursor(0, row); lcd_moveto(0, row);
lcd.print(sel ? '>' : ' '); lcd_put_wchar(sel ? '>' : ' ');
uint8_t n = LCD_WIDTH - concat; uint8_t n = LCD_WIDTH - concat;
const char *outstr = longFilename[0] ? longFilename : filename; const char *outstr = longFilename[0] ? longFilename : filename;
@ -1044,7 +877,7 @@ static void lcd_implementation_status_screen() {
name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor
if (filename_scroll_hash != name_hash) { // If the hash changed... if (filename_scroll_hash != name_hash) { // If the hash changed...
filename_scroll_hash = name_hash; // Save the new hash filename_scroll_hash = name_hash; // Save the new hash
filename_scroll_max = max(0, lcd_strlen(longFilename) - n); // Update the scroll limit filename_scroll_max = max(0, utf8_strlen(longFilename) - n); // Update the scroll limit
filename_scroll_pos = 0; // Reset scroll to the start filename_scroll_pos = 0; // Reset scroll to the start
lcd_status_update_delay = 8; // Don't scroll right away lcd_status_update_delay = 8; // Don't scroll right away
} }
@ -1055,14 +888,12 @@ static void lcd_implementation_status_screen() {
#endif #endif
} }
char c; lcd_moveto(0, row);
while (n && (c = *outstr)) { lcd_put_wchar(sel ? '>' : ' ');
n -= charset_mapper(c); n -= lcd_put_u8str_max(outstr, n);
++outstr;
}
while (n) { --n; lcd.write(' '); }
lcd.print(post_char); while (n) { --n; lcd_put_wchar(' '); }
lcd_put_wchar(post_char);
} }
static void lcd_implementation_drawmenu_sdfile(const bool sel, const uint8_t row, const char* pstr, const char* filename, char* const longFilename) { static void lcd_implementation_drawmenu_sdfile(const bool sel, const uint8_t row, const char* pstr, const char* filename, char* const longFilename) {
@ -1216,7 +1047,7 @@ static void lcd_implementation_status_screen() {
#define _LCD_W_POS 12 #define _LCD_W_POS 12
#define _PLOT_X 1 #define _PLOT_X 1
#define _MAP_X 3 #define _MAP_X 3
#define _LABEL(C,X,Y) lcd.setCursor(X, Y); lcd.print(C) #define _LABEL(C,X,Y) lcd_moveto(X, Y); lcd_put_u8str(C)
#define _XLABEL(X,Y) _LABEL("X:",X,Y) #define _XLABEL(X,Y) _LABEL("X:",X,Y)
#define _YLABEL(X,Y) _LABEL("Y:",X,Y) #define _YLABEL(X,Y) _LABEL("Y:",X,Y)
#define _ZLABEL(X,Y) _LABEL("Z:",X,Y) #define _ZLABEL(X,Y) _LABEL("Z:",X,Y)
@ -1224,7 +1055,7 @@ static void lcd_implementation_status_screen() {
#define _LCD_W_POS 8 #define _LCD_W_POS 8
#define _PLOT_X 0 #define _PLOT_X 0
#define _MAP_X 1 #define _MAP_X 1
#define _LABEL(X,Y,C) lcd.setCursor(X, Y); lcd.write(C) #define _LABEL(X,Y,C) lcd_moveto(X, Y); lcd_put_wchar(C)
#define _XLABEL(X,Y) _LABEL('X',X,Y) #define _XLABEL(X,Y) _LABEL('X',X,Y)
#define _YLABEL(X,Y) _LABEL('Y',X,Y) #define _YLABEL(X,Y) _LABEL('Y',X,Y)
#define _ZLABEL(X,Y) _LABEL('Z',X,Y) #define _ZLABEL(X,Y) _LABEL('Z',X,Y)
@ -1236,12 +1067,12 @@ static void lcd_implementation_status_screen() {
* Show X and Y positions * Show X and Y positions
*/ */
_XLABEL(_PLOT_X, 0); _XLABEL(_PLOT_X, 0);
lcd.print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); lcd_put_u8str(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x]))));
_YLABEL(_LCD_W_POS, 0); _YLABEL(_LCD_W_POS, 0);
lcd.print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y])))); lcd_put_u8str(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y]))));
lcd.setCursor(_PLOT_X, 0); lcd_moveto(_PLOT_X, 0);
#else // 16x4 or 20x4 display #else // 16x4 or 20x4 display
@ -1288,18 +1119,18 @@ static void lcd_implementation_status_screen() {
n_cols = right_edge / (ULTRA_X_PIXELS_PER_CHAR) + 1; n_cols = right_edge / (ULTRA_X_PIXELS_PER_CHAR) + 1;
for (i = 0; i < n_cols; i++) { for (i = 0; i < n_cols; i++) {
lcd.setCursor(i, 0); lcd_moveto(i, 0);
lcd.print((char)0x00); // top line of the box lcd_put_wchar((char)0x00); // top line of the box
lcd.setCursor(i, n_rows - 1); lcd_moveto(i, n_rows - 1);
lcd.write(0x01); // bottom line of the box lcd_put_wchar(0x01); // bottom line of the box
} }
for (j = 0; j < n_rows; j++) { for (j = 0; j < n_rows; j++) {
lcd.setCursor(0, j); lcd_moveto(0, j);
lcd.write(0x02); // Left edge of the box lcd_put_wchar(0x02); // Left edge of the box
lcd.setCursor(n_cols - 1, j); lcd_moveto(n_cols - 1, j);
lcd.write(0x03); // right edge of the box lcd_put_wchar(0x03); // right edge of the box
} }
/** /**
@ -1309,10 +1140,10 @@ static void lcd_implementation_status_screen() {
k = pixels_per_y_mesh_pnt * (GRID_MAX_POINTS_Y) + 2; k = pixels_per_y_mesh_pnt * (GRID_MAX_POINTS_Y) + 2;
l = (ULTRA_Y_PIXELS_PER_CHAR) * n_rows; l = (ULTRA_Y_PIXELS_PER_CHAR) * n_rows;
if (l > k && l - k >= (ULTRA_Y_PIXELS_PER_CHAR) / 2) { if (l > k && l - k >= (ULTRA_Y_PIXELS_PER_CHAR) / 2) {
lcd.setCursor(0, n_rows - 1); // left edge of the box lcd_moveto(0, n_rows - 1); // left edge of the box
lcd.write(' '); lcd_put_wchar(' ');
lcd.setCursor(n_cols - 1, n_rows - 1); // right edge of the box lcd_moveto(n_cols - 1, n_rows - 1); // right edge of the box
lcd.write(' '); lcd_put_wchar(' ');
} }
clear_custom_char(&new_char); clear_custom_char(&new_char);
@ -1371,8 +1202,8 @@ static void lcd_implementation_status_screen() {
//dump_custom_char("after add edges", &new_char); //dump_custom_char("after add edges", &new_char);
lcd.createChar(4, (uint8_t*)&new_char); lcd.createChar(4, (uint8_t*)&new_char);
lcd.setCursor(upper_left.column, upper_left.row); lcd_moveto(upper_left.column, upper_left.row);
lcd.write(0x04); lcd_put_wchar(0x04);
//dump_custom_char("after lcd update:", &new_char); //dump_custom_char("after lcd update:", &new_char);
/** /**
@ -1393,8 +1224,8 @@ static void lcd_implementation_status_screen() {
lcd.createChar(5, (uint8_t *) &new_char); lcd.createChar(5, (uint8_t *) &new_char);
lcd.setCursor(lower_right.column, upper_left.row); lcd_moveto(lower_right.column, upper_left.row);
lcd.write(0x05); lcd_put_wchar(0x05);
} }
/** /**
@ -1414,8 +1245,8 @@ static void lcd_implementation_status_screen() {
add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_LEFT); add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_LEFT);
lcd.createChar(6, (uint8_t *) &new_char); lcd.createChar(6, (uint8_t *) &new_char);
lcd.setCursor(upper_left.column, lower_right.row); lcd_moveto(upper_left.column, lower_right.row);
lcd.write(0x06); lcd_put_wchar(0x06);
} }
/** /**
@ -1439,8 +1270,8 @@ static void lcd_implementation_status_screen() {
add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_RIGHT); add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_RIGHT);
lcd.createChar(7, (uint8_t*)&new_char); lcd.createChar(7, (uint8_t*)&new_char);
lcd.setCursor(lower_right.column, lower_right.row); lcd_moveto(lower_right.column, lower_right.row);
lcd.write(0x07); lcd_put_wchar(0x07);
} }
#endif #endif
@ -1448,12 +1279,12 @@ static void lcd_implementation_status_screen() {
/** /**
* Print plot position * Print plot position
*/ */
lcd.setCursor(_LCD_W_POS, 0); lcd_moveto(_LCD_W_POS, 0);
lcd.write('('); lcd_put_wchar('(');
lcd.print(x); lcd_put_u8str(itostr3(x));
lcd.write(','); lcd_put_wchar(',');
lcd.print(inverted_y); lcd_put_u8str(itostr3(inverted_y));
lcd.write(')'); lcd_put_wchar(')');
#if LCD_HEIGHT <= 3 // 16x2 or 20x2 display #if LCD_HEIGHT <= 3 // 16x2 or 20x2 display
@ -1462,9 +1293,9 @@ static void lcd_implementation_status_screen() {
*/ */
_ZLABEL(_LCD_W_POS, 1); _ZLABEL(_LCD_W_POS, 1);
if (!isnan(ubl.z_values[x][inverted_y])) if (!isnan(ubl.z_values[x][inverted_y]))
lcd.print(ftostr43sign(ubl.z_values[x][inverted_y])); lcd_put_u8str(ftostr43sign(ubl.z_values[x][inverted_y]));
else else
lcd_printPGM(PSTR(" -----")); lcd_put_u8str_rom(PSTR(" -----"));
#else // 16x4 or 20x4 display #else // 16x4 or 20x4 display
@ -1472,18 +1303,18 @@ static void lcd_implementation_status_screen() {
* Show all values at right of screen * Show all values at right of screen
*/ */
_XLABEL(_LCD_W_POS, 1); _XLABEL(_LCD_W_POS, 1);
lcd.print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); lcd_put_u8str(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x]))));
_YLABEL(_LCD_W_POS, 2); _YLABEL(_LCD_W_POS, 2);
lcd.print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y])))); lcd_put_u8str(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y]))));
/** /**
* Show the location value * Show the location value
*/ */
_ZLABEL(_LCD_W_POS, 3); _ZLABEL(_LCD_W_POS, 3);
if (!isnan(ubl.z_values[x][inverted_y])) if (!isnan(ubl.z_values[x][inverted_y]))
lcd.print(ftostr43sign(ubl.z_values[x][inverted_y])); lcd_put_u8str(ftostr43sign(ubl.z_values[x][inverted_y]));
else else
lcd_printPGM(PSTR(" -----")); lcd_put_u8str_rom(PSTR(" -----"));
#endif // LCD_HEIGHT > 3 #endif // LCD_HEIGHT > 3
} }

View file

@ -1,671 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef UTF_MAPPER_H
#define UTF_MAPPER_H
#include "../inc/MarlinConfig.h"
#if ENABLED(DOGLCD)
#define HARDWARE_CHAR_OUT(C) u8g.print((char)(C))
#else
#define HARDWARE_CHAR_OUT(C) lcd.write((char)(C))
#endif
#if DISABLED(SIMULATE_ROMFONT) && ENABLED(DOGLCD)
#if ENABLED(DISPLAY_CHARSET_ISO10646_1) \
|| ENABLED(DISPLAY_CHARSET_ISO10646_5) \
|| ENABLED(DISPLAY_CHARSET_ISO10646_KANA) \
|| ENABLED(DISPLAY_CHARSET_ISO10646_GREEK) \
|| ENABLED(DISPLAY_CHARSET_ISO10646_TR)
#define MAPPER_ONE_TO_ONE
#endif
#else // SIMULATE_ROMFONT || !DOGLCD
#if DISPLAY_CHARSET_HD44780 == JAPANESE
#if ENABLED(MAPPER_C2C3)
const PROGMEM uint8_t utf_recode[] =
{ // 0 1 2 3 4 5 6 7 8 9 a b c d e f This is fair for symbols
0x20,0x3F,0xEC,0xED,0x3F,0x5C,0x7C,0x3F,0x22,0x63,0x61,0x7F,0x3F,0x3F,0x52,0xB0, // c2a
//' ' ¢ £ ­ l " c a « R
0xDF,0x3F,0x32,0x33,0x27,0xE4,0xF1,0xA5,0x2C,0x31,0xDF,0x7E,0x3F,0x3F,0x3F,0x3F, // c2b but relatively bad for letters.
// ° 2 3 ` N p . , 1 ° »
0x3F,0x3F,0x3F,0x3F,0xE1,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, // c38
// ä
0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0xEF,0x78,0x3F,0x3F,0x3F,0x3F,0xF5,0x3F,0x3F,0xE2, // c39 missing characters display as '?'
// ö x ü ß
0x3F,0x3F,0x3F,0x3F,0xE1,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, // c3a
// ä
0x3F,0xEE,0x3F,0x3F,0x3F,0x3F,0xEF,0xFD,0x3F,0x3F,0x3F,0x3F,0xF5,0x3F,0x3F,0x3F // c3b
// n ö ÷ ü
};
#elif ENABLED(MAPPER_E382E383)
const PROGMEM uint8_t utf_recode[] =
{ // 0 1 2 3 4 5 6 7 8 9 a b c d e f
0x3D,0xB1,0xB1,0xA8,0xB2,0xA9,0xB3,0xAA,0xB4,0xAB,0xB5,0xB6,0xB6,0xB7,0xB7,0xB8, // e382a Please test and correct
// = ア ア ィ イ ゥ ウ ェ エ ォ オ ガ ガ キ キ ク
0xB8,0xB9,0xB9,0xBA,0xBA,0xBB,0xBB,0xBC,0xBC,0xBD,0xBD,0xBE,0xBE,0xBF,0xBF,0xC0, // e382b
// ク ケ ケ コ コ サ サ シ シ ス ス セ セ ソ ソ タ
0xC0,0xC1,0xC1,0xC2,0xC2,0xC2,0xC3,0xC3,0xC4,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA, // e3838
// タ チ チ ッ ッ ッ テ テ ト ト ナ ニ ヌ ネ
0xCA,0xCA,0xCB,0xCB,0xCB,0xCC,0xCC,0xCC,0xCD,0xCD,0xCD,0xCE,0xCE,0xCE,0xCF,0xD0, // e3839
// ハ ハ ヒ ヒ ヒ フ フ フ ヘ ヘ ヘ ホ ホ ホ マ ミ
0xD1,0xD2,0xD3,0xD4,0xD4,0xD5,0xD5,0xAE,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDC, // e383a
// ム メ モ ャ ャ ユ ユ ョ ヨ ラ リ ル レ ロ ワ ワ
0xEC,0xA7,0xA6,0xDD,0xCC,0x3F,0x3F,0x3F,0x3F,0x3F,0xA6,0xA5,0xB0,0xA4,0xA4,0x3F // e383b
// ヰ ヱ ヲ ン フ ? ? ? ? ? ヲ ・ ー ヽ ヽ ?
};
#elif ENABLED(MAPPER_D0D1)
#error "Cyrillic on a JAPANESE display makes no sense. There are no matching symbols."
#endif
#elif DISPLAY_CHARSET_HD44780 == WESTERN
#if ENABLED(MAPPER_C2C3)
const PROGMEM uint8_t utf_recode[] =
{ // 0 1 2 3 4 5 6 7 8 9 a b c d e f This is relative complete.
0x20,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0x22,0xA9,0xAA,0xAB,0x3F,0x3F,0xAE,0x3F, // c2a ¡¢£¤¥¦§¨©ª«¬­®¯
//' ' ¡ ¢ £ ¤ ¥ ¦ § " © ª « ? ? ® ?
0xB0,0xB1,0xB2,0xB3,0x27,0xB5,0xB6,0xB7,0x2C,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, // c2b °±²³´µ¶·¸¹º»¼½¾¿
// ° ± ³ ² ? µ ¶ · , ¹ º » ¼ ½ ¾ ¿
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, // c38 ÀÁÃÄÅÆÇÈÉÊËÌÍÎÏ
// À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, // c39 ÐÑÓÔÕÖ×ØÙÚÛÜÝÞß
// Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, // c3a àáãäåæçèéêëìíîï
// à á â ã ä å æ ç è é ê ë ì í î ï
0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF // c3b ðñóôõö÷øùúûüýþÿ
// ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
};
#elif ENABLED(MAPPER_D0D1)
#define MAPPER_D0D1_MOD
const PROGMEM uint8_t utf_recode[] =
{//0 1 2 3 4 5 6 7 8 9 a b c d e f
0x41,0x80,0x42,0x92,0x81,0x45,0x82,0x83,0x84,0x85,0x4B,0x86,0x4D,0x48,0x4F,0x87, // d0a
// A Б B Г Д E Ж З И Й K Л M H O П
0x50,0x43,0x54,0x88,0xD8,0x58,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x62,0x8F,0xAC,0xAD, // d0b
// P C T У Ф X Ч ч Ш Щ Ъ Ы b Э Ю Я
0x61,0x36,0x42,0x92,0x81,0x65,0x82,0xB3,0x84,0x85,0x6B,0x86,0x4D,0x48,0x6F,0x87, // d18
// a 6 B Г Д e Ж ³ И Й k Л M H o П
0x70,0x63,0x54,0x79,0xD8,0x78,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x62,0x8F,0xAC,0xAD // d19
// p c T y Ф x Ч ч Ш Щ Ъ Ы b Э Ю Я
};
#elif ENABLED(MAPPER_E382E383)
#error "Katakana on a WESTERN display makes no sense. There are no matching symbols."
#endif
#elif DISPLAY_CHARSET_HD44780 == CYRILLIC
#if ENABLED(MAPPER_D0D1)
#define MAPPER_D0D1_MOD
// it is a Russian alphabet translation
// except 0401 --> 0xA2 = Ё, 0451 --> 0xB5 = ё
const PROGMEM uint8_t utf_recode[] =
{ 0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4, // unicode U+0400 to U+047f
// A Б->Ё B Г Д E Ж З // 0 Ѐ Ё Ђ Ѓ Є Ѕ І Ї
0xA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8, // Ј Љ Њ Ћ Ќ Ѝ Ў Џ
// И Й K Л M H O П // 1 А Б В Г Д Е Ж З
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB, // И Й К Л М Н О П
// P C T У Ф X Ч ч // 2 Р С Т У Ф Х Г Ч
0xAC,0xE2,0xAD,0xAE,0x62,0xAF,0xB0,0xB1, // Ш Щ Ъ Ы Ь Э Ю Я
// Ш Щ Ъ Ы b Э Ю Я // 3 а б в г д е ж з
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7, // и й к л м н о п
// a б->ё в г д e ж з // 4 р с т у ф х ц ч
0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE, // ш щ ъ ы ь э ю я
// и й к л м н o п // 5 ѐ ё ђ ѓ є ѕ і ї
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0, // ј љ њ ћ ќ ѝ ў џ
// p c т y ф x ц ч // 6 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ
0xC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7 // Ѫ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ
// ш щ ъ ы ь э ю я // 7 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ
}; // ѻ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ
#elif ENABLED(MAPPER_C2C3)
#error "Western languages on a CYRILLIC display makes no sense. There are no matching symbols."
#elif ENABLED(MAPPER_E382E383)
#error "Katakana on a CYRILLIC display makes no sense. There are no matching symbols."
#endif
#else
#error "Something went wrong in the setting of DISPLAY_CHARSET_HD44780"
#endif // DISPLAY_CHARSET_HD44780
#endif // SIMULATE_ROMFONT
#define PRINTABLE(C) (((C) & 0xC0u) != 0x80u)
#if ENABLED(MAPPER_C2C3)
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_c2 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d >= 0xC0u && !seen_c2) {
utf_hi_char = d - 0xC2u;
seen_c2 = true;
return 0;
}
else if (seen_c2) {
d &= 0x3Fu;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0x80u + (utf_hi_char << 6) + d);
#endif
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_c2 = false;
return 1;
}
#elif ENABLED(MAPPER_C2C3_TR)
// the C2C3-mapper extended for the 6 altered symbols from C4 and C5 range.
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_c2 = false,
seen_c4 = false,
seen_c5 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d == 0xC4u) { seen_c4 = true; return 0; }
else if (d == 0xC5u) { seen_c5 = true; return 0; }
else if (d >= 0xC0u && !seen_c2) {
utf_hi_char = d - 0xC2u;
seen_c2 = true;
return 0;
}
else if (seen_c4) {
switch(d) {
case 0x9Eu: d = 0xD0u; break;
case 0x9Fu: d = 0xF0u; break;
case 0xB0u: d = 0xDDu; break;
case 0xB1u: d = 0xFDu; break;
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c5) {
switch(d) {
case 0x9Eu: d = 0xDEu; break;
case 0x9Fu: d = 0xFEu; break;
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c2) {
d &= 0x3Fu;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0x80u + (utf_hi_char << 6) + d);
#endif
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_c2 = seen_c4 = seen_c5 = false;
return 1;
}
#elif ENABLED(MAPPER_CECF)
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_ce = false;
uint8_t d = c;
if (d >= 0x80) { // UTF-8 handling
if (d >= 0xC0 && !seen_ce) {
utf_hi_char = d - 0xCE;
seen_ce = true;
return 0;
}
else if (seen_ce) {
d &= 0x3F;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0x80 + (utf_hi_char << 6) + d);
#endif
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_ce = false;
return 1;
}
#elif ENABLED(MAPPER_CECF)
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_ce = false;
uint8_t d = c;
if (d >= 0x80) { // UTF-8 handling
if (d >= 0xC0 && !seen_ce) {
utf_hi_char = d - 0xCE;
seen_ce = true;
return 0;
}
else if (seen_ce) {
d &= 0x3F;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0x80 + (utf_hi_char << 6) + d);
#endif
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_ce = false;
return 1;
}
#elif ENABLED(MAPPER_D0D1_MOD)
char charset_mapper(const char c) {
// it is a Russian alphabet translation
// except 0401 --> 0xA2 = Ё, 0451 --> 0xB5 = ё
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_d5 = false;
uint8_t d = c;
if (d >= 0x80) { // UTF-8 handling
if (d >= 0xD0 && !seen_d5) {
utf_hi_char = d - 0xD0;
seen_d5 = true;
return 0;
}
else if (seen_d5) {
d &= 0x3F;
if (!utf_hi_char && d == 1) {
HARDWARE_CHAR_OUT(0xA2); // Ё
}
else if (utf_hi_char == 1 && d == 0x11) {
HARDWARE_CHAR_OUT(0xB5); // ё
}
else {
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x10));
}
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_d5 = false;
return 1;
}
#elif ENABLED(MAPPER_D0D1)
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_d5 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d >= 0xD0u && !seen_d5) {
utf_hi_char = d - 0xD0u;
seen_d5 = true;
return 0;
}
else if (seen_d5) {
d &= 0x3Fu;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0xA0u + (utf_hi_char << 6) + d);
#endif
}
else {
HARDWARE_CHAR_OUT('?');
}
}
else {
HARDWARE_CHAR_OUT(c);
}
seen_d5 = false;
return 1;
}
#elif ENABLED(MAPPER_E382E383)
char charset_mapper(const char c) {
static uint8_t utf_hi_char; // UTF-8 high part
static bool seen_e3 = false,
seen_82_83 = false;
uint8_t d = c;
if (d >= 0x80) { // UTF-8 handling
if (d == 0xE3 && !seen_e3) {
seen_e3 = true;
return 0; // eat 0xE3
}
else if (d >= 0x82 && seen_e3 && !seen_82_83) {
utf_hi_char = d - 0x82;
seen_82_83 = true;
return 0;
}
else if (seen_e3 && seen_82_83) {
d &= 0x3F;
#ifndef MAPPER_ONE_TO_ONE
HARDWARE_CHAR_OUT(pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
#else
HARDWARE_CHAR_OUT(0x80 + (utf_hi_char << 6) + d);
#endif
}
else
HARDWARE_CHAR_OUT('?');
}
else
HARDWARE_CHAR_OUT(c);
seen_e3 = false;
seen_82_83 = false;
return 1;
}
#elif ENABLED(MAPPER_C3C4C5_PL)
/**
* Ą C4 84 = 80
* ą C4 85 = 81
* Ć C4 86 = 82
* ć C4 87 = 83
* Ę C4 98 = 84
* ę C4 99 = 85
* Ł C5 81 = 86
* ł C5 82 = 87
* Ń C5 83 = 88
* ń C5 84 = 89
* Ó C3 93 = 8A
* ó C3 B3 = 8B
* Ś C5 9A = 8C
* ś C5 9B = 8D
* Ź C5 B9 = 8E
* ź C5 BA = 8F
* Ż C5 BB = 90
* ż C5 BC = 91
*/
char charset_mapper(const char c) {
static bool seen_c3 = false,
seen_c4 = false,
seen_c5 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d == 0xC4u) { seen_c4 = true; return 0; }
else if (d == 0xC5u) { seen_c5 = true; return 0; }
else if (d == 0xC3u) { seen_c3 = true; return 0; }
else if (seen_c4) {
switch(d) {
case 0x84u ... 0x87u: d -= 4; break; //Ą - ć
case 0x98u ... 0x99u: d -= 20; break; //Ę i ę
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c5) {
switch(d) {
case 0x81u ... 0x84u: d += 5; break; //Ł - ń
case 0x9Au ... 0x9Bu: d -= 0x0Eu; break; //Ś i ś
case 0xB9u ... 0xBCu: d -= 0x2Bu; break; //Ź - ż
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c3) {
switch(d) {
case 0x93u: d = 0x8Au; break; //Ó
case 0xB3u: d = 0x8Bu; break; //ó
d = '?';
}
HARDWARE_CHAR_OUT(d);
}
}
else
HARDWARE_CHAR_OUT(c);
seen_c3 = seen_c4 = seen_c5 = false;
return 1;
}
#elif ENABLED(MAPPER_C3C4C5_CZ)
/**
* Á C3 81 = 80
* É C3 89 = 81
* Í C3 8D = 82
* Ó C3 93 = 83
* Ú C3 9A = 84
* Ý C3 9D = 85
* á C3 A1 = 86
* é C3 A9 = 87
* í C3 AD = 88
* ó C3 B3 = 89
* ú C3 BA = 8A
* ý C3 BD = 8B
* Č C4 8C = 8C
* č C4 8D = 8D
* Ď C4 8E = 8E
* ď C4 8F = 8F
* Ě C4 9A = 90
* ě C4 9B = 91
* Ň C5 87 = 92
* ň C5 88 = 93
* Ř C5 98 = 94
* ř C5 99 = 95
* Š C5 A0 = 96
* š C5 A1 = 97
* Ť C5 A4 = 98
* ť C5 A5 = 99
* Ů C5 AE = 9A
* ů C5 AF = 9B
* Ž C5 BD = 9C
* ž C5 BE = 9D
*/
char charset_mapper(const char c) {
static bool seen_c3 = false,
seen_c4 = false,
seen_c5 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d == 0xC4u) { seen_c4 = true; return 0; }
else if (d == 0xC5u) { seen_c5 = true; return 0; }
else if (d == 0xC3u) { seen_c3 = true; return 0; }
else if (seen_c4) {
switch(d) {
case 0x8Cu ... 0x8Fu: break; // ČčĎď Mapping 1:1
case 0x9Au ... 0x9Bu: d -= 10; break; // Ěě
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c5) {
switch(d) {
case 0x87u ... 0x88u: d += 0x0Bu; break; // Ňň
case 0x98u ... 0x99u: d -= 0x04u; break; // Řř
case 0xA0u ... 0xA1u: d -= 0x0Au; break; // Šš
case 0xA4u ... 0xA5u: d -= 0x0Cu; break; // Ťť
case 0xAEu ... 0xAFu: d -= 0x14u; break; // Ůů
case 0xBDu ... 0xBEu: d -= 0x21u; break; // Žž
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c3) {
switch(d) {
case 0x81u: d = 0x80u; break; // Á
case 0x89u: d = 0x81u; break; // É
case 0x8Du: d = 0x82u; break; // Í
case 0x93u: d = 0x83u; break; // Ó
case 0x9Au: d = 0x84u; break; // Ú
case 0x9Du: d = 0x85u; break; // Ý
case 0xA1u: d = 0x86u; break; // á
case 0xA9u: d = 0x87u; break; // é
case 0xADu: d = 0x88u; break; // í
case 0xB3u: d = 0x89u; break; // ó
case 0xBAu: d = 0x8Au; break; // ú
case 0xBDu: d = 0x8Bu; break; // ý
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
}
else
HARDWARE_CHAR_OUT(c);
seen_c3 = seen_c4 = seen_c5 = false;
return 1;
}
#elif ENABLED(MAPPER_C3C4C5_SK)
/**
* Á C3 81 = 80
* Ä C3 84 = 81
* É C3 89 = 82
* Í C3 8D = 83
* Ó C3 93 = 84
* Ô C3 94 = 85
* Ú C3 9A = 86
* Ý C3 9D = 87
* á C3 A1 = 88
* ä C3 A4 = 89
* é C3 A9 = 8A
* í C3 AD = 8B
* ó C3 B3 = 8C
* ô C3 B4 = 8D
* ú C3 BA = 8E
* ý C3 BD = 8F
* Č C4 8C = 90
* č C4 8D = 91
* Ď C4 8E = 92
* ď C4 8F = 93
* Ĺ C4 B9 = 94
* ĺ C4 BA = 95
* Ľ C4 BD = 96
* ľ C4 BE = 97
* Ň C5 87 = 98
* ň C5 88 = 99
* Ŕ C5 94 = 9A
* ŕ C5 95 = 9B
* Š C5 A0 = 9C
* š C5 A1 = 9D
* Ť C5 A4 = 9E
* ť C5 A5 = 9F
* Ž C5 BD = A0
* ž C5 BE = A1
*/
char charset_mapper(const char c) {
static bool seen_c3 = false,
seen_c4 = false,
seen_c5 = false;
uint8_t d = c;
if (d >= 0x80u) { // UTF-8 handling
if (d == 0xC4u) { seen_c4 = true; return 0; }
else if (d == 0xC5u) { seen_c5 = true; return 0; }
else if (d == 0xC3u) { seen_c3 = true; return 0; }
else if (seen_c4) {
switch(d) {
case 0x8Cu ... 0x8Fu: d += 0x04u; break; // ČčĎď
case 0xB9u ... 0xBAu: d -= 0x25u; break; // Ĺĺ
case 0xBDu ... 0xBEu: d -= 0x27u; break; // Ľľ
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c5) {
switch(d) {
case 0x87u ... 0x88u: d += 0x11u; break; // Ňň
case 0x94u ... 0x95u: d += 0x06u; break; // Ŕŕ
case 0xA0u ... 0xA1u: d -= 0x04u; break; // Šš
case 0xA4u ... 0xA5u: d -= 0x06u; break; // Ťť
case 0xBDu ... 0xBEu: d -= 0x1Du; break; // Žž
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
else if (seen_c3) {
switch(d) {
case 0x81u: d = 0x80u; break; // Á
case 0x84u: d = 0x81u; break; // Ä
case 0x89u: d = 0x82u; break; // É
case 0x8Du: d = 0x83u; break; // Í
case 0x93u: d = 0x84u; break; // Ó
case 0x94u: d = 0x85u; break; // Ô
case 0x9Au: d = 0x86u; break; // Ú
case 0x9Du: d = 0x87u; break; // Ý
case 0xA1u: d = 0x88u; break; // á
case 0xA4u: d = 0x89u; break; // ä
case 0xA9u: d = 0x8Au; break; // é
case 0xADu: d = 0x8Bu; break; // í
case 0xB3u: d = 0x8Cu; break; // ó
case 0xB4u: d = 0x8Du; break; // ô
case 0xBAu: d = 0x8Eu; break; // ú
case 0xBDu: d = 0x8Fu; break; // ý
default: d = '?';
}
HARDWARE_CHAR_OUT(d);
}
}
else
HARDWARE_CHAR_OUT(c);
seen_c3 = seen_c4 = seen_c5 = false;
return 1;
}
#else
#define MAPPER_NON
#undef PRINTABLE
#define PRINTABLE(C) true
char charset_mapper(const char c) {
HARDWARE_CHAR_OUT(c);
return 1;
}
#endif // code mappers
#endif // UTF_MAPPER_H

View file

@ -0,0 +1,2736 @@
STARTFONT 2.1
FONT -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0
SIZE 8 96 96
FONTBOUNDINGBOX 6 10 0 -2
COMMENT "Merged with Marlin symbols"
COMMENT "A. Hardtung, public domain"
STARTPROPERTIES 33
FOUNDRY "FontForge"
FAMILY_NAME "ISO106461"
WEIGHT_NAME "Normal"
SLANT "R"
SETWIDTH_NAME "Normal"
ADD_STYLE_NAME ""
PIXEL_SIZE 11
POINT_SIZE 80
RESOLUTION_X 96
RESOLUTION_Y 96
SPACING "C"
AVERAGE_WIDTH 60
CHARSET_REGISTRY "WinRoman"
CHARSET_ENCODING "0"
FONTNAME_REGISTRY ""
CHARSET_COLLECTIONS "WinRoman"
FONT_NAME "ISO10646-1"
FACE_NAME "ISO10646-1"
FONT_VERSION "001.000"
FONT_ASCENT 9
FONT_DESCENT 2
UNDERLINE_POSITION -1
UNDERLINE_THICKNESS 1
X_HEIGHT 4
CAP_HEIGHT 6
RAW_ASCENT 800
RAW_DESCENT 200
NORM_SPACE 6
RELATIVE_WEIGHT 40
RELATIVE_SETWIDTH 50
FIGURE_WIDTH 6
AVG_LOWERCASE_WIDTH 60
AVG_UPPERCASE_WIDTH 60
ENDPROPERTIES
CHARS 199
STARTCHAR uni0001
ENCODING 1
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
F0
C8
88
88
98
78
10
ENDCHAR
STARTCHAR uni0002
ENCODING 2
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
C0
F8
88
88
88
88
88
F8
ENDCHAR
STARTCHAR uni0003
ENCODING 3
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
30
F8
30
20
ENDCHAR
STARTCHAR uni0004
ENCODING 4
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
70
F8
20
20
20
20
E0
ENDCHAR
STARTCHAR uni0005
ENCODING 5
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
20
70
A8
A8
B8
88
88
70
20
ENDCHAR
STARTCHAR uni0006
ENCODING 6
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
E0
80
C0
B0
A8
28
30
28
28
ENDCHAR
STARTCHAR uni0007
ENCODING 7
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
F8
A8
88
88
88
88
88
A8
F8
ENDCHAR
STARTCHAR uni0008
ENCODING 8
SWIDTH 545 0
DWIDTH 6 0
BBX 5 10 0 -2
BITMAP
20
50
50
50
50
88
A8
A8
88
70
ENDCHAR
STARTCHAR uni0009
ENCODING 9
SWIDTH 545 0
DWIDTH 6 0
BBX 3 3 0 3
BITMAP
40
A0
40
ENDCHAR
STARTCHAR space
ENCODING 32
SWIDTH 545 0
DWIDTH 6 0
BBX 1 1 5 -2
BITMAP
00
ENDCHAR
STARTCHAR exclam
ENCODING 33
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
00
80
ENDCHAR
STARTCHAR quotedbl
ENCODING 34
SWIDTH 545 0
DWIDTH 6 0
BBX 3 2 1 5
BITMAP
A0
A0
ENDCHAR
STARTCHAR numbersign
ENCODING 35
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
50
F8
50
F8
50
50
ENDCHAR
STARTCHAR dollar
ENCODING 36
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
78
A0
70
28
F0
20
ENDCHAR
STARTCHAR percent
ENCODING 37
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
C0
C8
10
20
40
98
18
ENDCHAR
STARTCHAR ampersand
ENCODING 38
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
60
90
A0
40
A8
90
68
ENDCHAR
STARTCHAR quotesingle
ENCODING 39
SWIDTH 545 0
DWIDTH 6 0
BBX 2 3 1 4
BITMAP
C0
40
80
ENDCHAR
STARTCHAR parenleft
ENCODING 40
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
20
40
80
80
80
40
20
ENDCHAR
STARTCHAR parenright
ENCODING 41
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
80
40
20
20
20
40
80
ENDCHAR
STARTCHAR asterisk
ENCODING 42
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
A8
70
A8
20
ENDCHAR
STARTCHAR plus
ENCODING 43
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
20
F8
20
20
ENDCHAR
STARTCHAR comma
ENCODING 44
SWIDTH 545 0
DWIDTH 6 0
BBX 2 3 2 -1
BITMAP
C0
40
80
ENDCHAR
STARTCHAR hyphen
ENCODING 45
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 3
BITMAP
F8
ENDCHAR
STARTCHAR period
ENCODING 46
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 0
BITMAP
C0
C0
ENDCHAR
STARTCHAR slash
ENCODING 47
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
08
10
20
40
80
ENDCHAR
STARTCHAR zero
ENCODING 48
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
98
A8
C8
88
70
ENDCHAR
STARTCHAR one
ENCODING 49
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
40
C0
40
40
40
40
E0
ENDCHAR
STARTCHAR two
ENCODING 50
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
08
70
80
80
F8
ENDCHAR
STARTCHAR three
ENCODING 51
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
10
20
10
08
08
F0
ENDCHAR
STARTCHAR four
ENCODING 52
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
10
30
50
90
F8
10
10
ENDCHAR
STARTCHAR five
ENCODING 53
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
F0
08
08
88
70
ENDCHAR
STARTCHAR six
ENCODING 54
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
40
80
F0
88
88
70
ENDCHAR
STARTCHAR seven
ENCODING 55
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
08
10
20
20
20
20
ENDCHAR
STARTCHAR eight
ENCODING 56
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
70
88
88
70
ENDCHAR
STARTCHAR nine
ENCODING 57
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
78
08
10
60
ENDCHAR
STARTCHAR colon
ENCODING 58
SWIDTH 545 0
DWIDTH 6 0
BBX 2 5 2 0
BITMAP
C0
C0
00
C0
C0
ENDCHAR
STARTCHAR semicolon
ENCODING 59
SWIDTH 545 0
DWIDTH 6 0
BBX 2 6 2 -1
BITMAP
C0
C0
00
C0
40
80
ENDCHAR
STARTCHAR less
ENCODING 60
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
10
20
40
80
40
20
10
ENDCHAR
STARTCHAR equal
ENCODING 61
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 2
BITMAP
F8
00
F8
ENDCHAR
STARTCHAR greater
ENCODING 62
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 1 0
BITMAP
80
40
20
10
20
40
80
ENDCHAR
STARTCHAR question
ENCODING 63
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
08
10
20
00
20
ENDCHAR
STARTCHAR at
ENCODING 64
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
08
68
A8
70
ENDCHAR
STARTCHAR A
ENCODING 65
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
F8
88
88
88
ENDCHAR
STARTCHAR B
ENCODING 66
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
88
88
F0
ENDCHAR
STARTCHAR C
ENCODING 67
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
80
80
88
70
ENDCHAR
STARTCHAR D
ENCODING 68
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
E0
90
88
88
88
90
E0
ENDCHAR
STARTCHAR E
ENCODING 69
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR F
ENCODING 70
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
80
ENDCHAR
STARTCHAR G
ENCODING 71
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
B8
88
88
70
ENDCHAR
STARTCHAR H
ENCODING 72
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
F8
88
88
88
ENDCHAR
STARTCHAR I
ENCODING 73
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
80
80
ENDCHAR
STARTCHAR J
ENCODING 74
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
38
10
10
10
10
90
60
ENDCHAR
STARTCHAR K
ENCODING 75
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A0
C0
A0
90
88
ENDCHAR
STARTCHAR L
ENCODING 76
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
80
80
80
80
F8
ENDCHAR
STARTCHAR M
ENCODING 77
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
D8
A8
88
88
88
88
ENDCHAR
STARTCHAR N
ENCODING 78
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
C8
A8
98
88
88
ENDCHAR
STARTCHAR O
ENCODING 79
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
88
88
70
ENDCHAR
STARTCHAR P
ENCODING 80
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
80
80
80
ENDCHAR
STARTCHAR Q
ENCODING 81
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
A8
90
68
ENDCHAR
STARTCHAR R
ENCODING 82
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
A0
90
88
ENDCHAR
STARTCHAR S
ENCODING 83
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
80
80
70
08
08
F0
ENDCHAR
STARTCHAR T
ENCODING 84
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
20
20
20
20
20
20
ENDCHAR
STARTCHAR U
ENCODING 85
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
88
70
ENDCHAR
STARTCHAR V
ENCODING 86
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
50
20
ENDCHAR
STARTCHAR W
ENCODING 87
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
A8
50
ENDCHAR
STARTCHAR X
ENCODING 88
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
50
20
50
88
88
ENDCHAR
STARTCHAR Y
ENCODING 89
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
50
20
20
20
ENDCHAR
STARTCHAR Z
ENCODING 90
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
08
10
20
40
80
F8
ENDCHAR
STARTCHAR bracketleft
ENCODING 91
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
80
80
80
80
80
E0
ENDCHAR
STARTCHAR backslash
ENCODING 92
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
80
40
20
10
08
ENDCHAR
STARTCHAR bracketright
ENCODING 93
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
20
20
20
20
20
E0
ENDCHAR
STARTCHAR asciicircum
ENCODING 94
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 4
BITMAP
20
50
88
ENDCHAR
STARTCHAR underscore
ENCODING 95
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 0
BITMAP
F8
ENDCHAR
STARTCHAR grave
ENCODING 96
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 5
BITMAP
80
40
ENDCHAR
STARTCHAR a
ENCODING 97
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
08
78
88
78
ENDCHAR
STARTCHAR b
ENCODING 98
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
B0
C8
88
88
F0
ENDCHAR
STARTCHAR c
ENCODING 99
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
80
88
70
ENDCHAR
STARTCHAR d
ENCODING 100
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
08
08
68
98
88
88
78
ENDCHAR
STARTCHAR e
ENCODING 101
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
F8
80
70
ENDCHAR
STARTCHAR f
ENCODING 102
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
48
E0
40
40
40
40
ENDCHAR
STARTCHAR g
ENCODING 103
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
70
88
88
78
08
70
ENDCHAR
STARTCHAR h
ENCODING 104
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
B0
C8
88
88
88
ENDCHAR
STARTCHAR i
ENCODING 105
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
00
80
80
80
80
80
ENDCHAR
STARTCHAR j
ENCODING 106
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 -1
BITMAP
20
00
20
20
20
20
A0
40
ENDCHAR
STARTCHAR k
ENCODING 107
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
80
80
90
A0
C0
A0
90
ENDCHAR
STARTCHAR l
ENCODING 108
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
C0
40
40
40
40
40
E0
ENDCHAR
STARTCHAR m
ENCODING 109
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
D0
A8
A8
A8
A8
ENDCHAR
STARTCHAR n
ENCODING 110
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
B0
C8
88
88
88
ENDCHAR
STARTCHAR o
ENCODING 111
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
88
88
70
ENDCHAR
STARTCHAR p
ENCODING 112
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
F0
88
88
F0
80
80
ENDCHAR
STARTCHAR q
ENCODING 113
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
78
88
88
78
08
08
ENDCHAR
STARTCHAR r
ENCODING 114
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
B0
C8
80
80
80
ENDCHAR
STARTCHAR s
ENCODING 115
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
70
08
F0
ENDCHAR
STARTCHAR t
ENCODING 116
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
40
40
E0
40
40
48
30
ENDCHAR
STARTCHAR u
ENCODING 117
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
88
98
68
ENDCHAR
STARTCHAR v
ENCODING 118
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
88
50
20
ENDCHAR
STARTCHAR w
ENCODING 119
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
A8
A8
50
ENDCHAR
STARTCHAR x
ENCODING 120
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
50
20
50
88
ENDCHAR
STARTCHAR y
ENCODING 121
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
88
88
78
08
70
ENDCHAR
STARTCHAR z
ENCODING 122
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
10
20
40
F8
ENDCHAR
STARTCHAR braceleft
ENCODING 123
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
20
40
40
80
40
40
20
ENDCHAR
STARTCHAR bar
ENCODING 124
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
80
80
ENDCHAR
STARTCHAR braceright
ENCODING 125
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
80
40
40
20
40
40
80
ENDCHAR
STARTCHAR asciitilde
ENCODING 126
SWIDTH 545 0
DWIDTH 6 0
BBX 5 2 0 3
BITMAP
68
90
ENDCHAR
STARTCHAR exclamdown
ENCODING 161
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
00
80
80
80
80
80
ENDCHAR
STARTCHAR cent
ENCODING 162
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
70
A8
A0
A8
70
20
ENDCHAR
STARTCHAR sterling
ENCODING 163
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
40
40
E0
40
50
A8
ENDCHAR
STARTCHAR currency
ENCODING 164
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
70
50
70
88
ENDCHAR
STARTCHAR yen
ENCODING 165
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
50
20
F8
20
F8
20
ENDCHAR
STARTCHAR brokenbar
ENCODING 166
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
00
80
80
80
ENDCHAR
STARTCHAR section
ENCODING 167
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
30
48
20
50
50
20
90
60
ENDCHAR
STARTCHAR dieresis
ENCODING 168
SWIDTH 545 0
DWIDTH 6 0
BBX 3 1 1 7
BITMAP
A0
ENDCHAR
STARTCHAR copyright
ENCODING 169
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
B8
B8
B8
88
F8
ENDCHAR
STARTCHAR ordfeminine
ENCODING 170
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 1
BITMAP
70
08
78
88
78
00
F8
ENDCHAR
STARTCHAR guillemotleft
ENCODING 171
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
28
50
A0
50
28
ENDCHAR
STARTCHAR logicalnot
ENCODING 172
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 1
BITMAP
F8
08
08
ENDCHAR
STARTCHAR uni00AD
ENCODING 173
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 6
BITMAP
40
80
ENDCHAR
STARTCHAR registered
ENCODING 174
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
A8
88
98
A8
F8
ENDCHAR
STARTCHAR macron
ENCODING 175
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 6
BITMAP
F8
ENDCHAR
STARTCHAR degree
ENCODING 176
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 3
BITMAP
60
90
90
60
ENDCHAR
STARTCHAR plusminus
ENCODING 177
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
20
F8
20
20
00
F8
ENDCHAR
STARTCHAR uni00B2
ENCODING 178
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 3
BITMAP
60
90
20
40
F0
ENDCHAR
STARTCHAR uni00B3
ENCODING 179
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 0 3
BITMAP
E0
20
E0
20
E0
ENDCHAR
STARTCHAR acute
ENCODING 180
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 6
BITMAP
40
80
ENDCHAR
STARTCHAR uni00B5
ENCODING 181
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
88
88
88
88
98
E8
80
80
ENDCHAR
STARTCHAR paragraph
ENCODING 182
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
98
98
78
18
18
18
ENDCHAR
STARTCHAR periodcentered
ENCODING 183
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 2
BITMAP
C0
C0
ENDCHAR
STARTCHAR cedilla
ENCODING 184
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 -1
BITMAP
40
80
ENDCHAR
STARTCHAR uni00B9
ENCODING 185
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 0 3
BITMAP
40
C0
40
40
E0
ENDCHAR
STARTCHAR ordmasculine
ENCODING 186
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 1
BITMAP
70
88
88
88
70
00
F8
ENDCHAR
STARTCHAR guillemotright
ENCODING 187
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
A0
50
28
50
A0
ENDCHAR
STARTCHAR onequarter
ENCODING 188
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A8
58
B8
08
08
ENDCHAR
STARTCHAR onehalf
ENCODING 189
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
B8
48
98
20
38
ENDCHAR
STARTCHAR threequarters
ENCODING 190
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
C0
40
C0
48
D8
38
08
08
ENDCHAR
STARTCHAR questiondown
ENCODING 191
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
00
20
40
80
88
70
ENDCHAR
STARTCHAR Agrave
ENCODING 192
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Aacute
ENCODING 193
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Acircumflex
ENCODING 194
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Atilde
ENCODING 195
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Adieresis
ENCODING 196
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
70
88
88
F8
88
88
ENDCHAR
STARTCHAR Aring
ENCODING 197
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
20
70
88
F8
88
88
ENDCHAR
STARTCHAR AE
ENCODING 198
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
38
60
A0
B8
E0
A0
B8
ENDCHAR
STARTCHAR Ccedilla
ENCODING 199
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
70
88
80
80
88
70
20
60
ENDCHAR
STARTCHAR Egrave
ENCODING 200
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Eacute
ENCODING 201
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
08
10
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Ecircumflex
ENCODING 202
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Edieresis
ENCODING 203
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Igrave
ENCODING 204
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
80
40
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Iacute
ENCODING 205
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
20
40
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Icircumflex
ENCODING 206
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
40
A0
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Idieresis
ENCODING 207
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
A0
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Eth
ENCODING 208
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
48
48
E8
48
48
70
ENDCHAR
STARTCHAR Ntilde
ENCODING 209
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
88
C8
A8
98
88
ENDCHAR
STARTCHAR Ograve
ENCODING 210
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
70
88
88
88
88
70
ENDCHAR
STARTCHAR Oacute
ENCODING 211
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
70
88
88
88
88
70
ENDCHAR
STARTCHAR Ocircumflex
ENCODING 212
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR Otilde
ENCODING 213
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
88
88
70
ENDCHAR
STARTCHAR Odieresis
ENCODING 214
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
70
88
88
88
88
70
ENDCHAR
STARTCHAR multiply
ENCODING 215
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
88
50
20
50
88
ENDCHAR
STARTCHAR Oslash
ENCODING 216
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
10
70
A8
A8
A8
A8
70
40
ENDCHAR
STARTCHAR Ugrave
ENCODING 217
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
88
88
88
88
88
70
ENDCHAR
STARTCHAR Uacute
ENCODING 218
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
88
88
88
88
88
70
ENDCHAR
STARTCHAR Ucircumflex
ENCODING 219
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
88
88
88
88
70
ENDCHAR
STARTCHAR Udieresis
ENCODING 220
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
88
88
88
88
88
70
ENDCHAR
STARTCHAR Yacute
ENCODING 221
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
88
50
20
20
20
20
ENDCHAR
STARTCHAR Thorn
ENCODING 222
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
C0
40
70
48
48
70
40
40
E0
ENDCHAR
STARTCHAR germandbls
ENCODING 223
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 1 -1
BITMAP
60
90
90
A0
90
90
E0
80
ENDCHAR
STARTCHAR agrave
ENCODING 224
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
08
78
88
78
ENDCHAR
STARTCHAR aacute
ENCODING 225
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
08
78
88
78
ENDCHAR
STARTCHAR acircumflex
ENCODING 226
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
08
78
88
78
ENDCHAR
STARTCHAR atilde
ENCODING 227
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
08
78
88
78
ENDCHAR
STARTCHAR adieresis
ENCODING 228
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
08
78
88
78
ENDCHAR
STARTCHAR aring
ENCODING 229
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
20
70
08
78
88
78
ENDCHAR
STARTCHAR ae
ENCODING 230
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
D0
28
78
A0
A8
50
ENDCHAR
STARTCHAR ccedilla
ENCODING 231
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
70
80
88
70
20
60
ENDCHAR
STARTCHAR egrave
ENCODING 232
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
F8
80
70
ENDCHAR
STARTCHAR eacute
ENCODING 233
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
F8
80
70
ENDCHAR
STARTCHAR ecircumflex
ENCODING 234
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
F8
80
70
ENDCHAR
STARTCHAR edieresis
ENCODING 235
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
88
F8
80
70
ENDCHAR
STARTCHAR igrave
ENCODING 236
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
80
40
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR iacute
ENCODING 237
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
20
40
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR icircumflex
ENCODING 238
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
40
A0
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR idieresis
ENCODING 239
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
A0
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR eth
ENCODING 240
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A0
40
A0
10
78
88
70
ENDCHAR
STARTCHAR ntilde
ENCODING 241
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
B0
C8
88
88
88
ENDCHAR
STARTCHAR ograve
ENCODING 242
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
88
88
70
ENDCHAR
STARTCHAR oacute
ENCODING 243
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
88
88
70
ENDCHAR
STARTCHAR ocircumflex
ENCODING 244
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR otilde
ENCODING 245
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
88
88
70
ENDCHAR
STARTCHAR odieresis
ENCODING 246
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR divide
ENCODING 247
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
00
F8
00
20
ENDCHAR
STARTCHAR oslash
ENCODING 248
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -1
BITMAP
10
70
A8
A8
A8
70
40
ENDCHAR
STARTCHAR ugrave
ENCODING 249
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
88
88
88
98
68
ENDCHAR
STARTCHAR uacute
ENCODING 250
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
88
88
88
98
68
ENDCHAR
STARTCHAR ucircumflex
ENCODING 251
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
88
88
88
98
68
ENDCHAR
STARTCHAR udieresis
ENCODING 252
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
88
88
88
98
68
ENDCHAR
STARTCHAR yacute
ENCODING 253
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
10
20
00
88
88
88
F8
08
70
ENDCHAR
STARTCHAR thorn
ENCODING 254
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 1 -1
BITMAP
C0
40
60
50
60
40
E0
ENDCHAR
STARTCHAR ydieresis
ENCODING 255
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
50
00
88
88
88
78
08
70
ENDCHAR
ENDFONT

View file

@ -0,0 +1,6932 @@
STARTFONT 2.1
FONT -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0
SIZE 8 96 96
FONTBOUNDINGBOX 6 10 0 -2
COMMENT "Merged with Greek,Cyrillic,Kana"
COMMENT "A. Hardtung, public domain"
STARTPROPERTIES 33
FOUNDRY "FontForge"
FAMILY_NAME "ISO106461"
WEIGHT_NAME "Normal"
SLANT "R"
SETWIDTH_NAME "Normal"
ADD_STYLE_NAME ""
PIXEL_SIZE 11
POINT_SIZE 80
RESOLUTION_X 96
RESOLUTION_Y 96
SPACING "C"
AVERAGE_WIDTH 60
CHARSET_REGISTRY "WinRoman"
CHARSET_ENCODING "0"
FONTNAME_REGISTRY ""
CHARSET_COLLECTIONS "WinRoman"
FONT_NAME "ISO10646-1"
FACE_NAME "ISO10646-1"
FONT_VERSION "001.000"
FONT_ASCENT 9
FONT_DESCENT 2
UNDERLINE_POSITION -1
UNDERLINE_THICKNESS 1
X_HEIGHT 4
CAP_HEIGHT 6
RAW_ASCENT 800
RAW_DESCENT 200
NORM_SPACE 6
RELATIVE_WEIGHT 40
RELATIVE_SETWIDTH 50
FIGURE_WIDTH 6
AVG_LOWERCASE_WIDTH 60
AVG_UPPERCASE_WIDTH 60
ENDPROPERTIES
CHARS 515
STARTCHAR uni0001
ENCODING 1
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
F0
C8
88
88
98
78
10
ENDCHAR
STARTCHAR uni0002
ENCODING 2
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
C0
F8
88
88
88
88
88
F8
ENDCHAR
STARTCHAR uni0003
ENCODING 3
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
30
F8
30
20
ENDCHAR
STARTCHAR uni0004
ENCODING 4
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
70
F8
20
20
20
20
E0
ENDCHAR
STARTCHAR uni0005
ENCODING 5
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
20
70
A8
A8
B8
88
88
70
20
ENDCHAR
STARTCHAR uni0006
ENCODING 6
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
E0
80
C0
B0
A8
28
30
28
28
ENDCHAR
STARTCHAR uni0007
ENCODING 7
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
F8
A8
88
88
88
88
88
A8
F8
ENDCHAR
STARTCHAR uni0008
ENCODING 8
SWIDTH 545 0
DWIDTH 6 0
BBX 5 10 0 -2
BITMAP
20
50
50
50
50
88
A8
A8
88
70
ENDCHAR
STARTCHAR uni0009
ENCODING 9
SWIDTH 545 0
DWIDTH 6 0
BBX 3 3 0 3
BITMAP
40
A0
40
ENDCHAR
STARTCHAR space
ENCODING 32
SWIDTH 545 0
DWIDTH 6 0
BBX 1 1 5 -2
BITMAP
00
ENDCHAR
STARTCHAR exclam
ENCODING 33
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
00
80
ENDCHAR
STARTCHAR quotedbl
ENCODING 34
SWIDTH 545 0
DWIDTH 6 0
BBX 3 2 1 5
BITMAP
A0
A0
ENDCHAR
STARTCHAR numbersign
ENCODING 35
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
50
F8
50
F8
50
50
ENDCHAR
STARTCHAR dollar
ENCODING 36
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
78
A0
70
28
F0
20
ENDCHAR
STARTCHAR percent
ENCODING 37
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
C0
C8
10
20
40
98
18
ENDCHAR
STARTCHAR ampersand
ENCODING 38
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
60
90
A0
40
A8
90
68
ENDCHAR
STARTCHAR quotesingle
ENCODING 39
SWIDTH 545 0
DWIDTH 6 0
BBX 2 3 1 4
BITMAP
C0
40
80
ENDCHAR
STARTCHAR parenleft
ENCODING 40
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
20
40
80
80
80
40
20
ENDCHAR
STARTCHAR parenright
ENCODING 41
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
80
40
20
20
20
40
80
ENDCHAR
STARTCHAR asterisk
ENCODING 42
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
A8
70
A8
20
ENDCHAR
STARTCHAR plus
ENCODING 43
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
20
F8
20
20
ENDCHAR
STARTCHAR comma
ENCODING 44
SWIDTH 545 0
DWIDTH 6 0
BBX 2 3 2 -1
BITMAP
C0
40
80
ENDCHAR
STARTCHAR hyphen
ENCODING 45
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 3
BITMAP
F8
ENDCHAR
STARTCHAR period
ENCODING 46
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 0
BITMAP
C0
C0
ENDCHAR
STARTCHAR slash
ENCODING 47
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
08
10
20
40
80
ENDCHAR
STARTCHAR zero
ENCODING 48
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
98
A8
C8
88
70
ENDCHAR
STARTCHAR one
ENCODING 49
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
40
C0
40
40
40
40
E0
ENDCHAR
STARTCHAR two
ENCODING 50
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
08
70
80
80
F8
ENDCHAR
STARTCHAR three
ENCODING 51
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
10
20
10
08
08
F0
ENDCHAR
STARTCHAR four
ENCODING 52
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
10
30
50
90
F8
10
10
ENDCHAR
STARTCHAR five
ENCODING 53
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
F0
08
08
88
70
ENDCHAR
STARTCHAR six
ENCODING 54
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
40
80
F0
88
88
70
ENDCHAR
STARTCHAR seven
ENCODING 55
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
08
10
20
20
20
20
ENDCHAR
STARTCHAR eight
ENCODING 56
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
70
88
88
70
ENDCHAR
STARTCHAR nine
ENCODING 57
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
78
08
10
60
ENDCHAR
STARTCHAR colon
ENCODING 58
SWIDTH 545 0
DWIDTH 6 0
BBX 2 5 2 0
BITMAP
C0
C0
00
C0
C0
ENDCHAR
STARTCHAR semicolon
ENCODING 59
SWIDTH 545 0
DWIDTH 6 0
BBX 2 6 2 -1
BITMAP
C0
C0
00
C0
40
80
ENDCHAR
STARTCHAR less
ENCODING 60
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
10
20
40
80
40
20
10
ENDCHAR
STARTCHAR equal
ENCODING 61
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 2
BITMAP
F8
00
F8
ENDCHAR
STARTCHAR greater
ENCODING 62
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 1 0
BITMAP
80
40
20
10
20
40
80
ENDCHAR
STARTCHAR question
ENCODING 63
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
08
10
20
00
20
ENDCHAR
STARTCHAR at
ENCODING 64
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
08
68
A8
70
ENDCHAR
STARTCHAR A
ENCODING 65
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
F8
88
88
88
ENDCHAR
STARTCHAR B
ENCODING 66
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
88
88
F0
ENDCHAR
STARTCHAR C
ENCODING 67
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
80
80
88
70
ENDCHAR
STARTCHAR D
ENCODING 68
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
E0
90
88
88
88
90
E0
ENDCHAR
STARTCHAR E
ENCODING 69
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR F
ENCODING 70
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
80
ENDCHAR
STARTCHAR G
ENCODING 71
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
B8
88
88
70
ENDCHAR
STARTCHAR H
ENCODING 72
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
F8
88
88
88
ENDCHAR
STARTCHAR I
ENCODING 73
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
80
80
ENDCHAR
STARTCHAR J
ENCODING 74
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
38
10
10
10
10
90
60
ENDCHAR
STARTCHAR K
ENCODING 75
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A0
C0
A0
90
88
ENDCHAR
STARTCHAR L
ENCODING 76
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
80
80
80
80
F8
ENDCHAR
STARTCHAR M
ENCODING 77
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
D8
A8
88
88
88
88
ENDCHAR
STARTCHAR N
ENCODING 78
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
C8
A8
98
88
88
ENDCHAR
STARTCHAR O
ENCODING 79
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
88
88
70
ENDCHAR
STARTCHAR P
ENCODING 80
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
80
80
80
ENDCHAR
STARTCHAR Q
ENCODING 81
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
A8
90
68
ENDCHAR
STARTCHAR R
ENCODING 82
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
A0
90
88
ENDCHAR
STARTCHAR S
ENCODING 83
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
80
80
70
08
08
F0
ENDCHAR
STARTCHAR T
ENCODING 84
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
20
20
20
20
20
20
ENDCHAR
STARTCHAR U
ENCODING 85
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
88
70
ENDCHAR
STARTCHAR V
ENCODING 86
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
50
20
ENDCHAR
STARTCHAR W
ENCODING 87
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
88
88
A8
50
ENDCHAR
STARTCHAR X
ENCODING 88
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
50
20
50
88
88
ENDCHAR
STARTCHAR Y
ENCODING 89
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
50
20
20
20
ENDCHAR
STARTCHAR Z
ENCODING 90
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
08
10
20
40
80
F8
ENDCHAR
STARTCHAR bracketleft
ENCODING 91
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
80
80
80
80
80
E0
ENDCHAR
STARTCHAR backslash
ENCODING 92
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
80
40
20
10
08
ENDCHAR
STARTCHAR bracketright
ENCODING 93
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
20
20
20
20
20
E0
ENDCHAR
STARTCHAR asciicircum
ENCODING 94
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 4
BITMAP
20
50
88
ENDCHAR
STARTCHAR underscore
ENCODING 95
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 0
BITMAP
F8
ENDCHAR
STARTCHAR grave
ENCODING 96
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 5
BITMAP
80
40
ENDCHAR
STARTCHAR a
ENCODING 97
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
08
78
88
78
ENDCHAR
STARTCHAR b
ENCODING 98
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
B0
C8
88
88
F0
ENDCHAR
STARTCHAR c
ENCODING 99
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
80
88
70
ENDCHAR
STARTCHAR d
ENCODING 100
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
08
08
68
98
88
88
78
ENDCHAR
STARTCHAR e
ENCODING 101
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
F8
80
70
ENDCHAR
STARTCHAR f
ENCODING 102
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
48
E0
40
40
40
40
ENDCHAR
STARTCHAR g
ENCODING 103
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
70
88
88
78
08
70
ENDCHAR
STARTCHAR h
ENCODING 104
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
B0
C8
88
88
88
ENDCHAR
STARTCHAR i
ENCODING 105
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
00
80
80
80
80
80
ENDCHAR
STARTCHAR j
ENCODING 106
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 -1
BITMAP
20
00
20
20
20
20
A0
40
ENDCHAR
STARTCHAR k
ENCODING 107
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
80
80
90
A0
C0
A0
90
ENDCHAR
STARTCHAR l
ENCODING 108
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
C0
40
40
40
40
40
E0
ENDCHAR
STARTCHAR m
ENCODING 109
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
D0
A8
A8
A8
A8
ENDCHAR
STARTCHAR n
ENCODING 110
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
B0
C8
88
88
88
ENDCHAR
STARTCHAR o
ENCODING 111
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
88
88
70
ENDCHAR
STARTCHAR p
ENCODING 112
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
F0
88
88
F0
80
80
ENDCHAR
STARTCHAR q
ENCODING 113
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
78
88
88
78
08
08
ENDCHAR
STARTCHAR r
ENCODING 114
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
B0
C8
80
80
80
ENDCHAR
STARTCHAR s
ENCODING 115
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
70
08
F0
ENDCHAR
STARTCHAR t
ENCODING 116
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
40
40
E0
40
40
48
30
ENDCHAR
STARTCHAR u
ENCODING 117
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
88
98
68
ENDCHAR
STARTCHAR v
ENCODING 118
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
88
50
20
ENDCHAR
STARTCHAR w
ENCODING 119
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
A8
A8
50
ENDCHAR
STARTCHAR x
ENCODING 120
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
50
20
50
88
ENDCHAR
STARTCHAR y
ENCODING 121
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
88
88
78
08
70
ENDCHAR
STARTCHAR z
ENCODING 122
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
10
20
40
F8
ENDCHAR
STARTCHAR braceleft
ENCODING 123
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
20
40
40
80
40
40
20
ENDCHAR
STARTCHAR bar
ENCODING 124
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
80
80
80
80
ENDCHAR
STARTCHAR braceright
ENCODING 125
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
80
40
40
20
40
40
80
ENDCHAR
STARTCHAR asciitilde
ENCODING 126
SWIDTH 545 0
DWIDTH 6 0
BBX 5 2 0 3
BITMAP
68
90
ENDCHAR
STARTCHAR exclamdown
ENCODING 161
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
00
80
80
80
80
80
ENDCHAR
STARTCHAR cent
ENCODING 162
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
70
A8
A0
A8
70
20
ENDCHAR
STARTCHAR sterling
ENCODING 163
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
40
40
E0
40
50
A8
ENDCHAR
STARTCHAR currency
ENCODING 164
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
70
50
70
88
ENDCHAR
STARTCHAR yen
ENCODING 165
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
50
20
F8
20
F8
20
ENDCHAR
STARTCHAR brokenbar
ENCODING 166
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
80
80
00
80
80
80
ENDCHAR
STARTCHAR section
ENCODING 167
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
30
48
20
50
50
20
90
60
ENDCHAR
STARTCHAR dieresis
ENCODING 168
SWIDTH 545 0
DWIDTH 6 0
BBX 3 1 1 7
BITMAP
A0
ENDCHAR
STARTCHAR copyright
ENCODING 169
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
B8
B8
B8
88
F8
ENDCHAR
STARTCHAR ordfeminine
ENCODING 170
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 1
BITMAP
70
08
78
88
78
00
F8
ENDCHAR
STARTCHAR guillemotleft
ENCODING 171
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
28
50
A0
50
28
ENDCHAR
STARTCHAR logicalnot
ENCODING 172
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 1
BITMAP
F8
08
08
ENDCHAR
STARTCHAR uni00AD
ENCODING 173
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 6
BITMAP
40
80
ENDCHAR
STARTCHAR registered
ENCODING 174
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
A8
88
98
A8
F8
ENDCHAR
STARTCHAR macron
ENCODING 175
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 6
BITMAP
F8
ENDCHAR
STARTCHAR degree
ENCODING 176
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 3
BITMAP
60
90
90
60
ENDCHAR
STARTCHAR plusminus
ENCODING 177
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
20
F8
20
20
00
F8
ENDCHAR
STARTCHAR uni00B2
ENCODING 178
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 3
BITMAP
60
90
20
40
F0
ENDCHAR
STARTCHAR uni00B3
ENCODING 179
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 0 3
BITMAP
E0
20
E0
20
E0
ENDCHAR
STARTCHAR acute
ENCODING 180
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 6
BITMAP
40
80
ENDCHAR
STARTCHAR uni00B5
ENCODING 181
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
88
88
88
88
98
E8
80
80
ENDCHAR
STARTCHAR paragraph
ENCODING 182
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
98
98
78
18
18
18
ENDCHAR
STARTCHAR periodcentered
ENCODING 183
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 2
BITMAP
C0
C0
ENDCHAR
STARTCHAR cedilla
ENCODING 184
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 -1
BITMAP
40
80
ENDCHAR
STARTCHAR uni00B9
ENCODING 185
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 0 3
BITMAP
40
C0
40
40
E0
ENDCHAR
STARTCHAR ordmasculine
ENCODING 186
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 1
BITMAP
70
88
88
88
70
00
F8
ENDCHAR
STARTCHAR guillemotright
ENCODING 187
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
A0
50
28
50
A0
ENDCHAR
STARTCHAR onequarter
ENCODING 188
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A8
58
B8
08
08
ENDCHAR
STARTCHAR onehalf
ENCODING 189
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
B8
48
98
20
38
ENDCHAR
STARTCHAR threequarters
ENCODING 190
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
C0
40
C0
48
D8
38
08
08
ENDCHAR
STARTCHAR questiondown
ENCODING 191
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
00
20
40
80
88
70
ENDCHAR
STARTCHAR Agrave
ENCODING 192
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Aacute
ENCODING 193
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Acircumflex
ENCODING 194
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Atilde
ENCODING 195
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
F8
88
88
ENDCHAR
STARTCHAR Adieresis
ENCODING 196
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
70
88
88
F8
88
88
ENDCHAR
STARTCHAR Aring
ENCODING 197
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
20
70
88
F8
88
88
ENDCHAR
STARTCHAR AE
ENCODING 198
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
38
60
A0
B8
E0
A0
B8
ENDCHAR
STARTCHAR Ccedilla
ENCODING 199
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
70
88
80
80
88
70
20
60
ENDCHAR
STARTCHAR Egrave
ENCODING 200
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Eacute
ENCODING 201
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
08
10
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Ecircumflex
ENCODING 202
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Edieresis
ENCODING 203
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
F8
80
F0
80
F8
ENDCHAR
STARTCHAR Igrave
ENCODING 204
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
80
40
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Iacute
ENCODING 205
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
20
40
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Icircumflex
ENCODING 206
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
40
A0
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Idieresis
ENCODING 207
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
A0
00
E0
40
40
40
E0
ENDCHAR
STARTCHAR Eth
ENCODING 208
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
48
48
E8
48
48
70
ENDCHAR
STARTCHAR Ntilde
ENCODING 209
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
88
C8
A8
98
88
ENDCHAR
STARTCHAR Ograve
ENCODING 210
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
70
88
88
88
88
70
ENDCHAR
STARTCHAR Oacute
ENCODING 211
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
70
88
88
88
88
70
ENDCHAR
STARTCHAR Ocircumflex
ENCODING 212
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR Otilde
ENCODING 213
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
88
88
70
ENDCHAR
STARTCHAR Odieresis
ENCODING 214
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
70
88
88
88
88
70
ENDCHAR
STARTCHAR multiply
ENCODING 215
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
88
50
20
50
88
ENDCHAR
STARTCHAR Oslash
ENCODING 216
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
10
70
A8
A8
A8
A8
70
40
ENDCHAR
STARTCHAR Ugrave
ENCODING 217
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
88
88
88
88
88
70
ENDCHAR
STARTCHAR Uacute
ENCODING 218
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
88
88
88
88
88
70
ENDCHAR
STARTCHAR Ucircumflex
ENCODING 219
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
88
88
88
88
70
ENDCHAR
STARTCHAR Udieresis
ENCODING 220
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
88
88
88
88
88
70
ENDCHAR
STARTCHAR Yacute
ENCODING 221
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
88
50
20
20
20
20
ENDCHAR
STARTCHAR Thorn
ENCODING 222
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
C0
40
70
48
48
70
40
40
E0
ENDCHAR
STARTCHAR germandbls
ENCODING 223
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 1 -1
BITMAP
60
90
90
A0
90
90
E0
80
ENDCHAR
STARTCHAR agrave
ENCODING 224
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
08
78
88
78
ENDCHAR
STARTCHAR aacute
ENCODING 225
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
08
78
88
78
ENDCHAR
STARTCHAR acircumflex
ENCODING 226
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
08
78
88
78
ENDCHAR
STARTCHAR atilde
ENCODING 227
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
08
78
88
78
ENDCHAR
STARTCHAR adieresis
ENCODING 228
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
08
78
88
78
ENDCHAR
STARTCHAR aring
ENCODING 229
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
20
70
08
78
88
78
ENDCHAR
STARTCHAR ae
ENCODING 230
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
D0
28
78
A0
A8
50
ENDCHAR
STARTCHAR ccedilla
ENCODING 231
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
70
80
88
70
20
60
ENDCHAR
STARTCHAR egrave
ENCODING 232
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
F8
80
70
ENDCHAR
STARTCHAR eacute
ENCODING 233
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
F8
80
70
ENDCHAR
STARTCHAR ecircumflex
ENCODING 234
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
F8
80
70
ENDCHAR
STARTCHAR edieresis
ENCODING 235
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
88
F8
80
70
ENDCHAR
STARTCHAR igrave
ENCODING 236
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
80
40
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR iacute
ENCODING 237
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
20
40
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR icircumflex
ENCODING 238
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
40
A0
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR idieresis
ENCODING 239
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
A0
00
40
C0
40
40
E0
ENDCHAR
STARTCHAR eth
ENCODING 240
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A0
40
A0
10
78
88
70
ENDCHAR
STARTCHAR ntilde
ENCODING 241
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
B0
C8
88
88
88
ENDCHAR
STARTCHAR ograve
ENCODING 242
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
88
88
70
ENDCHAR
STARTCHAR oacute
ENCODING 243
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
70
88
88
88
70
ENDCHAR
STARTCHAR ocircumflex
ENCODING 244
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR otilde
ENCODING 245
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
68
90
00
70
88
88
88
70
ENDCHAR
STARTCHAR odieresis
ENCODING 246
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
88
88
88
70
ENDCHAR
STARTCHAR divide
ENCODING 247
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
20
00
F8
00
20
ENDCHAR
STARTCHAR oslash
ENCODING 248
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -1
BITMAP
10
70
A8
A8
A8
70
40
ENDCHAR
STARTCHAR ugrave
ENCODING 249
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
88
88
88
98
68
ENDCHAR
STARTCHAR uacute
ENCODING 250
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
88
88
88
98
68
ENDCHAR
STARTCHAR ucircumflex
ENCODING 251
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
50
00
88
88
88
98
68
ENDCHAR
STARTCHAR udieresis
ENCODING 252
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
88
88
88
98
68
ENDCHAR
STARTCHAR yacute
ENCODING 253
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
10
20
00
88
88
88
F8
08
70
ENDCHAR
STARTCHAR thorn
ENCODING 254
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 1 -1
BITMAP
C0
40
60
50
60
40
E0
ENDCHAR
STARTCHAR ydieresis
ENCODING 255
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
50
00
88
88
88
78
08
70
ENDCHAR
STARTCHAR quotedblbase
ENCODING 900
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 1 6
BITMAP
40
80
ENDCHAR
STARTCHAR ellipsis
ENCODING 901
SWIDTH 545 0
DWIDTH 6 0
BBX 3 3 1 5
BITMAP
20
40
A0
ENDCHAR
STARTCHAR dagger
ENCODING 902
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
A0
50
50
88
F8
88
88
ENDCHAR
STARTCHAR daggerdbl
ENCODING 903
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 1 2
BITMAP
C0
C0
ENDCHAR
STARTCHAR circumflex
ENCODING 904
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
F8
80
F0
80
80
F8
ENDCHAR
STARTCHAR perthousand
ENCODING 905
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
88
88
F8
88
88
88
ENDCHAR
STARTCHAR Scaron
ENCODING 906
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 0 0
BITMAP
40
80
70
20
20
20
20
70
ENDCHAR
STARTCHAR guilsinglleft
ENCODING 907
SWIDTH 545 0
DWIDTH 6 0
BBX 1 1 5 -2
BITMAP
00
ENDCHAR
STARTCHAR OE
ENCODING 908
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
70
88
88
88
88
70
ENDCHAR
STARTCHAR NameMe.141
ENCODING 909
SWIDTH 545 0
DWIDTH 6 0
BBX 1 1 5 -2
BITMAP
00
ENDCHAR
STARTCHAR Zcaron
ENCODING 910
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
08
88
70
20
20
20
ENDCHAR
STARTCHAR NameMe.143
ENCODING 911
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
70
88
88
88
50
D8
ENDCHAR
STARTCHAR NameMe.144
ENCODING 912
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
20
40
A0
00
40
40
40
20
ENDCHAR
STARTCHAR quoteleft
ENCODING 913
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
50
88
88
F8
88
88
ENDCHAR
STARTCHAR quoteright
ENCODING 914
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
48
48
70
48
48
F0
ENDCHAR
STARTCHAR quotedblleft
ENCODING 915
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
80
80
80
80
ENDCHAR
STARTCHAR quotedblright
ENCODING 916
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
50
50
88
88
F8
ENDCHAR
STARTCHAR bullet
ENCODING 917
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR endash
ENCODING 918
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
08
10
20
40
80
F8
ENDCHAR
STARTCHAR emdash
ENCODING 919
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
F8
88
88
88
ENDCHAR
STARTCHAR tilde
ENCODING 920
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
A8
88
88
70
ENDCHAR
STARTCHAR trademark
ENCODING 921
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
40
40
40
40
40
E0
ENDCHAR
STARTCHAR scaron
ENCODING 922
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A0
C0
A0
90
88
ENDCHAR
STARTCHAR guilsinglright
ENCODING 923
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
50
88
88
88
88
88
ENDCHAR
STARTCHAR oe
ENCODING 924
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
D8
A8
A8
88
88
88
ENDCHAR
STARTCHAR NameMe.157
ENCODING 925
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
C8
C8
A8
98
98
88
ENDCHAR
STARTCHAR zcaron
ENCODING 926
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
00
00
70
00
00
F8
ENDCHAR
STARTCHAR Ydieresis
ENCODING 927
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
88
88
70
ENDCHAR
STARTCHAR uni00A0
ENCODING 928
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
50
50
50
50
50
50
ENDCHAR
STARTCHAR exclamdown
ENCODING 929
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
80
80
80
ENDCHAR
STARTCHAR cent
ENCODING 930
SWIDTH 545 0
DWIDTH 6 0
BBX 1 1 5 -2
BITMAP
00
ENDCHAR
STARTCHAR sterling
ENCODING 931
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
40
20
40
80
F8
ENDCHAR
STARTCHAR currency
ENCODING 932
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
20
20
20
20
20
20
ENDCHAR
STARTCHAR yen
ENCODING 933
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
50
20
20
20
20
ENDCHAR
STARTCHAR brokenbar
ENCODING 934
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
20
70
A8
70
20
70
ENDCHAR
STARTCHAR section
ENCODING 935
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
50
20
50
88
88
ENDCHAR
STARTCHAR dieresis
ENCODING 936
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A8
A8
A8
A8
70
20
20
ENDCHAR
STARTCHAR copyright
ENCODING 937
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
88
50
50
D8
ENDCHAR
STARTCHAR ordfeminine
ENCODING 938
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
A0
00
E0
40
40
40
40
E0
ENDCHAR
STARTCHAR guillemotleft
ENCODING 939
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
88
88
88
50
20
20
ENDCHAR
STARTCHAR logicalnot
ENCODING 940
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
40
08
68
98
90
90
68
ENDCHAR
STARTCHAR uni00AD
ENCODING 941
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
40
00
70
88
E0
88
70
ENDCHAR
STARTCHAR registered
ENCODING 942
SWIDTH 545 0
DWIDTH 6 0
BBX 5 10 0 -2
BITMAP
20
40
00
70
88
88
88
88
08
08
ENDCHAR
STARTCHAR macron
ENCODING 943
SWIDTH 545 0
DWIDTH 6 0
BBX 2 8 1 0
BITMAP
40
80
00
80
80
80
80
40
ENDCHAR
STARTCHAR degree
ENCODING 944
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
50
00
88
88
88
70
ENDCHAR
STARTCHAR plusminus
ENCODING 945
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
08
68
98
90
90
68
ENDCHAR
STARTCHAR uni00B2
ENCODING 946
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 -2
BITMAP
60
90
F0
90
E0
80
80
ENDCHAR
STARTCHAR uni00B3
ENCODING 947
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
48
50
20
20
40
ENDCHAR
STARTCHAR acute
ENCODING 948
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
30
40
70
88
88
70
ENDCHAR
STARTCHAR uni00B5
ENCODING 949
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
E0
88
70
ENDCHAR
STARTCHAR paragraph
ENCODING 950
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -2
BITMAP
80
70
40
80
80
80
70
08
70
ENDCHAR
STARTCHAR periodcentered
ENCODING 951
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
B8
C8
88
88
88
08
08
ENDCHAR
STARTCHAR cedilla
ENCODING 952
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
F8
88
70
ENDCHAR
STARTCHAR uni00B9
ENCODING 953
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 1 0
BITMAP
80
80
80
80
60
ENDCHAR
STARTCHAR ordmasculine
ENCODING 954
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
90
A0
C0
A0
90
ENDCHAR
STARTCHAR guillemotright
ENCODING 955
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
20
20
50
50
88
ENDCHAR
STARTCHAR onequarter
ENCODING 956
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
88
88
88
D8
A8
80
80
ENDCHAR
STARTCHAR onehalf
ENCODING 957
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
50
60
20
ENDCHAR
STARTCHAR threequarters
ENCODING 958
SWIDTH 545 0
DWIDTH 6 0
BBX 5 10 0 -2
BITMAP
80
E0
80
70
20
40
80
70
08
70
ENDCHAR
STARTCHAR questiondown
ENCODING 959
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
88
88
70
ENDCHAR
STARTCHAR Agrave
ENCODING 960
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
50
50
50
50
ENDCHAR
STARTCHAR Aacute
ENCODING 961
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
70
88
88
C8
B0
80
80
ENDCHAR
STARTCHAR Acircumflex
ENCODING 962
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
30
40
80
40
30
08
70
ENDCHAR
STARTCHAR Atilde
ENCODING 963
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
68
90
90
90
60
ENDCHAR
STARTCHAR Adieresis
ENCODING 964
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
F0
40
40
40
30
ENDCHAR
STARTCHAR Aring
ENCODING 965
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
90
90
E0
ENDCHAR
STARTCHAR AE
ENCODING 966
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -2
BITMAP
30
A8
A8
A8
A8
70
20
20
ENDCHAR
STARTCHAR Ccedilla
ENCODING 967
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
50
20
20
50
88
ENDCHAR
STARTCHAR Egrave
ENCODING 968
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
A8
A8
A8
A8
70
20
20
ENDCHAR
STARTCHAR Eacute
ENCODING 969
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
50
88
88
A8
70
ENDCHAR
STARTCHAR Ecircumflex
ENCODING 970
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
A0
00
40
40
40
40
30
ENDCHAR
STARTCHAR Edieresis
ENCODING 971
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
88
88
90
90
E0
ENDCHAR
STARTCHAR Igrave
ENCODING 972
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 0 0
BITMAP
20
40
00
60
90
90
90
60
ENDCHAR
STARTCHAR Iacute
ENCODING 973
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
40
00
88
88
90
90
60
ENDCHAR
STARTCHAR Icircumflex
ENCODING 974
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
20
40
00
50
88
88
A8
70
ENDCHAR
STARTCHAR Idieresis
ENCODING 975
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -1
BITMAP
90
A0
C0
A0
90
88
10
ENDCHAR
STARTCHAR Eth
ENCODING 976
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
60
90
A0
80
F0
88
88
70
ENDCHAR
STARTCHAR Ntilde
ENCODING 977
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
50
38
90
90
90
60
ENDCHAR
STARTCHAR Ograve
ENCODING 978
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
98
50
20
20
20
20
ENDCHAR
STARTCHAR Oacute
ENCODING 979
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
80
98
50
20
20
20
20
ENDCHAR
STARTCHAR Ocircumflex
ENCODING 980
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
00
98
50
20
20
20
20
ENDCHAR
STARTCHAR Otilde
ENCODING 981
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -1
BITMAP
30
A8
A8
A8
A8
70
20
ENDCHAR
STARTCHAR Odieresis
ENCODING 982
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
50
50
50
58
ENDCHAR
STARTCHAR multiply
ENCODING 983
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
50
70
50
88
10
ENDCHAR
STARTCHAR Oslash
ENCODING 984
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -1
BITMAP
70
88
88
88
70
20
70
ENDCHAR
STARTCHAR Ugrave
ENCODING 985
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
70
88
88
70
20
70
ENDCHAR
STARTCHAR Uacute
ENCODING 986
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
80
70
20
70
ENDCHAR
STARTCHAR Ucircumflex
ENCODING 987
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
08
70
80
80
70
10
60
ENDCHAR
STARTCHAR Udieresis
ENCODING 988
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
F8
80
80
F0
80
80
ENDCHAR
STARTCHAR Yacute
ENCODING 989
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
F0
80
E0
80
80
ENDCHAR
STARTCHAR Thorn
ENCODING 990
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
F8
00
00
70
00
F8
ENDCHAR
STARTCHAR germandbls
ENCODING 991
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
40
80
F0
10
20
ENDCHAR
STARTCHAR agrave
ENCODING 992
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
E0
50
28
28
08
08
10
ENDCHAR
STARTCHAR aacute
ENCODING 993
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
C0
20
50
28
08
08
08
ENDCHAR
STARTCHAR acircumflex
ENCODING 994
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -2
BITMAP
A8
A8
A8
A8
A8
58
08
70
ENDCHAR
STARTCHAR atilde
ENCODING 995
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
A8
A8
A8
A8
58
08
70
ENDCHAR
STARTCHAR adieresis
ENCODING 996
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
68
88
88
78
08
08
ENDCHAR
STARTCHAR aring
ENCODING 997
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
68
88
88
78
08
08
ENDCHAR
STARTCHAR ae
ENCODING 998
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 0 -2
BITMAP
80
E0
90
90
90
90
20
C0
ENDCHAR
STARTCHAR ccedilla
ENCODING 999
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
68
90
70
10
E0
ENDCHAR
STARTCHAR egrave
ENCODING 1000
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
60
90
10
60
88
70
ENDCHAR
STARTCHAR eacute
ENCODING 1001
SWIDTH 545 0
DWIDTH 6 0
BBX 4 6 0 0
BITMAP
60
90
10
60
80
70
ENDCHAR
STARTCHAR ecircumflex
ENCODING 1002
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
88
50
20
50
88
F8
ENDCHAR
STARTCHAR edieresis
ENCODING 1003
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
50
20
50
70
ENDCHAR
STARTCHAR igrave
ENCODING 1004
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
78
80
F0
88
88
70
ENDCHAR
STARTCHAR iacute
ENCODING 1005
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
F0
80
E0
90
60
ENDCHAR
STARTCHAR icircumflex
ENCODING 1006
SWIDTH 545 0
DWIDTH 6 0
BBX 3 6 1 0
BITMAP
40
E0
40
40
40
40
ENDCHAR
STARTCHAR idieresis
ENCODING 1007
SWIDTH 545 0
DWIDTH 6 0
BBX 3 6 1 -1
BITMAP
40
E0
40
40
40
80
ENDCHAR
STARTCHAR eth
ENCODING 1008
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
50
70
50
88
ENDCHAR
STARTCHAR ntilde
ENCODING 1009
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
70
88
88
88
F0
80
70
ENDCHAR
STARTCHAR ograve
ENCODING 1010
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
70
80
80
80
70
ENDCHAR
STARTCHAR oacute
ENCODING 1011
SWIDTH 545 0
DWIDTH 6 0
BBX 2 8 1 -1
BITMAP
40
00
C0
40
40
40
40
80
ENDCHAR
STARTCHAR ocircumflex
ENCODING 1012
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
F8
88
88
70
ENDCHAR
STARTCHAR otilde
ENCODING 1013
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
70
80
E0
80
70
ENDCHAR
STARTCHAR odieresis
ENCODING 1014
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
E0
10
70
10
E0
ENDCHAR
STARTCHAR divide
ENCODING 1015
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
F0
88
88
88
F0
80
ENDCHAR
STARTCHAR oslash
ENCODING 1016
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 -1
BITMAP
80
E0
90
90
90
E0
80
ENDCHAR
STARTCHAR ugrave
ENCODING 1017
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
80
80
88
70
ENDCHAR
STARTCHAR uacute
ENCODING 1018
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
88
D8
A8
88
88
88
ENDCHAR
STARTCHAR ucircumflex
ENCODING 1019
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 -2
BITMAP
88
D8
A8
88
88
80
80
ENDCHAR
STARTCHAR udieresis
ENCODING 1020
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -2
BITMAP
70
88
88
88
70
40
E0
40
ENDCHAR
STARTCHAR yacute
ENCODING 1021
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
08
08
88
70
ENDCHAR
STARTCHAR thorn
ENCODING 1022
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
A0
80
88
70
ENDCHAR
STARTCHAR ydieresis
ENCODING 1023
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
88
28
08
88
70
ENDCHAR
STARTCHAR uni00A0
ENCODING 1024
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR exclamdown
ENCODING 1025
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR cent
ENCODING 1026
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
E0
40
40
70
48
48
70
ENDCHAR
STARTCHAR sterling
ENCODING 1027
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
F8
88
80
80
80
80
ENDCHAR
STARTCHAR currency
ENCODING 1028
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
30
48
80
E0
80
48
30
ENDCHAR
STARTCHAR yen
ENCODING 1029
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
70
08
88
70
ENDCHAR
STARTCHAR brokenbar
ENCODING 1030
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
E0
40
40
40
40
40
E0
ENDCHAR
STARTCHAR section
ENCODING 1031
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 0
BITMAP
A0
00
E0
40
40
40
40
E0
ENDCHAR
STARTCHAR dieresis
ENCODING 1032
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
38
10
10
10
10
90
60
ENDCHAR
STARTCHAR copyright
ENCODING 1033
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A0
A0
A0
B8
A8
A8
B8
ENDCHAR
STARTCHAR ordfeminine
ENCODING 1034
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A0
A0
A0
F8
A8
A8
B8
ENDCHAR
STARTCHAR guillemotleft
ENCODING 1035
SWIDTH 545 0
DWIDTH 6 0
BBX 4 7 0 0
BITMAP
E0
40
70
50
50
50
50
ENDCHAR
STARTCHAR logicalnot
ENCODING 1036
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
88
90
A0
E0
90
88
ENDCHAR
STARTCHAR uni00AD
ENCODING 1037
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
88
98
A8
C8
88
88
ENDCHAR
STARTCHAR registered
ENCODING 1038
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
50
20
88
88
88
50
20
20
20
ENDCHAR
STARTCHAR macron
ENCODING 1039
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
88
88
88
88
88
88
F8
20
ENDCHAR
STARTCHAR degree
ENCODING 1040
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
F8
88
88
88
ENDCHAR
STARTCHAR plusminus
ENCODING 1041
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
88
88
F0
ENDCHAR
STARTCHAR uni00B2
ENCODING 1042
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
88
88
F0
ENDCHAR
STARTCHAR uni00B3
ENCODING 1043
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
80
80
80
80
80
ENDCHAR
STARTCHAR acute
ENCODING 1044
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
78
28
28
28
48
88
F8
88
ENDCHAR
STARTCHAR uni00B5
ENCODING 1045
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
80
80
F0
80
80
F8
ENDCHAR
STARTCHAR paragraph
ENCODING 1046
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A8
A8
A8
70
A8
A8
A8
ENDCHAR
STARTCHAR periodcentered
ENCODING 1047
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
08
08
70
08
08
F0
ENDCHAR
STARTCHAR cedilla
ENCODING 1048
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
98
A8
C8
88
88
ENDCHAR
STARTCHAR uni00B9
ENCODING 1049
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
50
20
88
98
A8
A8
C8
88
ENDCHAR
STARTCHAR ordmasculine
ENCODING 1050
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
90
A0
C0
A0
90
88
ENDCHAR
STARTCHAR guillemotright
ENCODING 1051
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
28
28
28
28
A8
48
ENDCHAR
STARTCHAR onequarter
ENCODING 1052
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
D8
A8
88
88
88
88
ENDCHAR
STARTCHAR onehalf
ENCODING 1053
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
F8
88
88
88
ENDCHAR
STARTCHAR threequarters
ENCODING 1054
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
88
88
88
88
70
ENDCHAR
STARTCHAR questiondown
ENCODING 1055
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
88
88
88
88
88
88
ENDCHAR
STARTCHAR Agrave
ENCODING 1056
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F0
88
88
F0
80
80
80
ENDCHAR
STARTCHAR Aacute
ENCODING 1057
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
80
80
80
88
70
ENDCHAR
STARTCHAR Acircumflex
ENCODING 1058
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
F8
20
20
20
20
20
20
ENDCHAR
STARTCHAR Atilde
ENCODING 1059
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
50
20
40
80
ENDCHAR
STARTCHAR Adieresis
ENCODING 1060
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
20
70
A8
A8
A8
70
20
ENDCHAR
STARTCHAR Aring
ENCODING 1061
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
50
20
50
88
88
ENDCHAR
STARTCHAR AE
ENCODING 1062
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
88
88
88
88
88
88
F8
08
ENDCHAR
STARTCHAR Ccedilla
ENCODING 1063
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
98
68
08
08
ENDCHAR
STARTCHAR Egrave
ENCODING 1064
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
A8
A8
A8
A8
A8
A8
F8
ENDCHAR
STARTCHAR Eacute
ENCODING 1065
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 -1
BITMAP
A8
A8
A8
A8
A8
A8
F8
08
ENDCHAR
STARTCHAR Ecircumflex
ENCODING 1066
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
C0
40
40
70
48
48
70
ENDCHAR
STARTCHAR Edieresis
ENCODING 1067
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
88
88
88
C8
A8
A8
C8
ENDCHAR
STARTCHAR Igrave
ENCODING 1068
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
80
80
80
F0
88
88
F0
ENDCHAR
STARTCHAR Iacute
ENCODING 1069
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
70
88
08
38
08
88
70
ENDCHAR
STARTCHAR Icircumflex
ENCODING 1070
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
90
A8
A8
E8
A8
A8
90
ENDCHAR
STARTCHAR Idieresis
ENCODING 1071
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
78
88
88
78
28
48
88
ENDCHAR
STARTCHAR Eth
ENCODING 1072
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
08
78
88
78
ENDCHAR
STARTCHAR Ntilde
ENCODING 1073
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
18
60
80
F0
88
88
70
ENDCHAR
STARTCHAR Ograve
ENCODING 1074
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
E0
90
E0
90
E0
ENDCHAR
STARTCHAR Oacute
ENCODING 1075
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
88
80
80
80
ENDCHAR
STARTCHAR Ocircumflex
ENCODING 1076
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
78
28
48
88
F8
88
ENDCHAR
STARTCHAR Otilde
ENCODING 1077
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
F8
80
70
ENDCHAR
STARTCHAR Odieresis
ENCODING 1078
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
A8
A8
70
A8
A8
ENDCHAR
STARTCHAR multiply
ENCODING 1079
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F0
08
30
08
F0
ENDCHAR
STARTCHAR Oslash
ENCODING 1080
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
98
A8
C8
88
ENDCHAR
STARTCHAR Ugrave
ENCODING 1081
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
20
88
98
A8
C8
88
ENDCHAR
STARTCHAR Uacute
ENCODING 1082
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
90
A0
C0
A0
90
ENDCHAR
STARTCHAR Ucircumflex
ENCODING 1083
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
28
28
A8
48
ENDCHAR
STARTCHAR Udieresis
ENCODING 1084
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
D8
A8
88
88
ENDCHAR
STARTCHAR Yacute
ENCODING 1085
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
F8
88
88
ENDCHAR
STARTCHAR Thorn
ENCODING 1086
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
88
88
70
ENDCHAR
STARTCHAR germandbls
ENCODING 1087
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
88
88
88
88
ENDCHAR
STARTCHAR agrave
ENCODING 1088
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
F0
88
88
F0
80
80
ENDCHAR
STARTCHAR aacute
ENCODING 1089
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
80
88
70
ENDCHAR
STARTCHAR acircumflex
ENCODING 1090
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
20
20
20
20
ENDCHAR
STARTCHAR atilde
ENCODING 1091
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
88
88
78
08
70
ENDCHAR
STARTCHAR adieresis
ENCODING 1092
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
70
A8
A8
70
20
ENDCHAR
STARTCHAR aring
ENCODING 1093
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
50
20
50
88
ENDCHAR
STARTCHAR ae
ENCODING 1094
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
88
88
88
F8
08
ENDCHAR
STARTCHAR ccedilla
ENCODING 1095
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
F8
08
08
ENDCHAR
STARTCHAR egrave
ENCODING 1096
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
A8
A8
A8
A8
F8
ENDCHAR
STARTCHAR eacute
ENCODING 1097
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
A8
A8
A8
A8
F8
08
ENDCHAR
STARTCHAR ecircumflex
ENCODING 1098
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
C0
40
70
48
70
ENDCHAR
STARTCHAR edieresis
ENCODING 1099
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
C8
A8
C8
ENDCHAR
STARTCHAR igrave
ENCODING 1100
SWIDTH 545 0
DWIDTH 6 0
BBX 3 5 1 0
BITMAP
80
80
C0
A0
C0
ENDCHAR
STARTCHAR iacute
ENCODING 1101
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
38
88
70
ENDCHAR
STARTCHAR icircumflex
ENCODING 1102
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
90
A8
E8
A8
90
ENDCHAR
STARTCHAR idieresis
ENCODING 1103
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
78
88
78
28
48
ENDCHAR
STARTCHAR eth
ENCODING 1104
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
70
88
F8
80
70
ENDCHAR
STARTCHAR ntilde
ENCODING 1105
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
50
00
70
88
F8
80
70
ENDCHAR
STARTCHAR ograve
ENCODING 1106
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
40
E0
40
40
78
48
48
48
10
ENDCHAR
STARTCHAR oacute
ENCODING 1107
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
10
20
00
F8
88
80
80
80
ENDCHAR
STARTCHAR ocircumflex
ENCODING 1108
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
88
60
88
70
ENDCHAR
STARTCHAR otilde
ENCODING 1109
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
80
70
08
F0
ENDCHAR
STARTCHAR odieresis
ENCODING 1110
SWIDTH 545 0
DWIDTH 6 0
BBX 1 7 2 0
BITMAP
80
00
80
80
80
80
80
ENDCHAR
STARTCHAR divide
ENCODING 1111
SWIDTH 545 0
DWIDTH 6 0
BBX 3 7 1 0
BITMAP
A0
00
40
40
40
40
40
ENDCHAR
STARTCHAR oslash
ENCODING 1112
SWIDTH 545 0
DWIDTH 6 0
BBX 3 8 1 -1
BITMAP
20
00
20
20
20
20
A0
40
ENDCHAR
STARTCHAR ugrave
ENCODING 1113
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
A0
A0
B8
A8
B8
ENDCHAR
STARTCHAR uacute
ENCODING 1114
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
A0
A0
F8
A8
B8
ENDCHAR
STARTCHAR ucircumflex
ENCODING 1115
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
E0
40
78
48
48
ENDCHAR
STARTCHAR udieresis
ENCODING 1116
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 0 0
BITMAP
10
20
00
90
A0
C0
A0
90
ENDCHAR
STARTCHAR yacute
ENCODING 1117
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
40
20
00
88
98
A8
C8
88
ENDCHAR
STARTCHAR thorn
ENCODING 1118
SWIDTH 545 0
DWIDTH 6 0
BBX 5 9 0 -1
BITMAP
50
20
00
88
88
88
78
08
70
ENDCHAR
STARTCHAR ydieresis
ENCODING 1119
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 -1
BITMAP
88
88
88
88
F8
20
ENDCHAR
STARTCHAR uni00A0
ENCODING 12448
SWIDTH 545 0
DWIDTH 6 0
BBX 5 3 0 1
BITMAP
F8
00
F8
ENDCHAR
STARTCHAR exclamdown
ENCODING 12449
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
F0
10
60
40
ENDCHAR
STARTCHAR cent
ENCODING 12450
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
F8
08
28
30
20
40
ENDCHAR
STARTCHAR sterling
ENCODING 12451
SWIDTH 545 0
DWIDTH 6 0
BBX 3 4 1 0
BITMAP
20
40
C0
40
ENDCHAR
STARTCHAR currency
ENCODING 12452
SWIDTH 545 0
DWIDTH 6 0
BBX 4 6 0 0
BITMAP
10
20
60
A0
20
20
ENDCHAR
STARTCHAR yen
ENCODING 12453
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
20
F0
90
20
ENDCHAR
STARTCHAR brokenbar
ENCODING 12454
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
F8
88
08
10
20
ENDCHAR
STARTCHAR section
ENCODING 12455
SWIDTH 545 0
DWIDTH 6 0
BBX 3 4 1 0
BITMAP
E0
40
40
E0
ENDCHAR
STARTCHAR dieresis
ENCODING 12456
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
20
20
20
F8
ENDCHAR
STARTCHAR copyright
ENCODING 12457
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
20
F0
60
A0
ENDCHAR
STARTCHAR ordfeminine
ENCODING 12458
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
10
F8
30
50
90
10
ENDCHAR
STARTCHAR guillemotleft
ENCODING 12459
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
F8
48
48
48
90
ENDCHAR
STARTCHAR logicalnot
ENCODING 12460
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
40
F8
48
48
48
90
ENDCHAR
STARTCHAR uni00AD
ENCODING 12461
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
F8
20
F8
20
20
ENDCHAR
STARTCHAR registered
ENCODING 12462
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
20
F8
20
F8
20
20
ENDCHAR
STARTCHAR macron
ENCODING 12463
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
70
90
10
20
C0
ENDCHAR
STARTCHAR degree
ENCODING 12464
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
70
90
10
20
C0
ENDCHAR
STARTCHAR plusminus
ENCODING 12465
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
78
90
10
10
20
ENDCHAR
STARTCHAR uni00B2
ENCODING 12466
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
40
78
90
10
10
20
ENDCHAR
STARTCHAR uni00B3
ENCODING 12467
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
08
08
F8
ENDCHAR
STARTCHAR acute
ENCODING 12468
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
08
08
08
F8
ENDCHAR
STARTCHAR uni00B5
ENCODING 12469
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
50
F8
50
10
20
40
ENDCHAR
STARTCHAR paragraph
ENCODING 12470
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
50
F8
50
10
20
40
ENDCHAR
STARTCHAR periodcentered
ENCODING 12471
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
C0
08
C8
10
E0
ENDCHAR
STARTCHAR cedilla
ENCODING 12472
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
C0
08
C8
10
E0
ENDCHAR
STARTCHAR uni00B9
ENCODING 12473
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
10
20
50
88
ENDCHAR
STARTCHAR ordmasculine
ENCODING 12474
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
10
20
50
88
ENDCHAR
STARTCHAR guillemotright
ENCODING 12475
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
F8
48
50
40
38
ENDCHAR
STARTCHAR onequarter
ENCODING 12476
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
40
F8
48
50
40
38
ENDCHAR
STARTCHAR onehalf
ENCODING 12477
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
88
88
48
10
60
ENDCHAR
STARTCHAR threequarters
ENCODING 12478
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
88
88
48
10
60
ENDCHAR
STARTCHAR questiondown
ENCODING 12479
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
78
48
A8
10
60
ENDCHAR
STARTCHAR Agrave
ENCODING 12480
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
78
48
A8
10
60
ENDCHAR
STARTCHAR Aacute
ENCODING 12481
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
10
E0
20
F8
20
40
ENDCHAR
STARTCHAR Acircumflex
ENCODING 12482
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
10
E0
20
F8
20
40
ENDCHAR
STARTCHAR Atilde
ENCODING 12483
SWIDTH 545 0
DWIDTH 6 0
BBX 5 4 0 0
BITMAP
A8
A8
08
30
ENDCHAR
STARTCHAR Adieresis
ENCODING 12484
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
A8
A8
08
10
20
ENDCHAR
STARTCHAR Aring
ENCODING 12485
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
A8
A8
08
10
20
ENDCHAR
STARTCHAR AE
ENCODING 12486
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
00
F8
20
20
40
ENDCHAR
STARTCHAR Ccedilla
ENCODING 12487
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
70
00
F8
20
20
40
ENDCHAR
STARTCHAR Egrave
ENCODING 12488
SWIDTH 545 0
DWIDTH 6 0
BBX 3 6 1 0
BITMAP
80
80
C0
A0
80
80
ENDCHAR
STARTCHAR Eacute
ENCODING 12489
SWIDTH 545 0
DWIDTH 6 0
BBX 4 8 1 0
BITMAP
50
00
80
80
C0
A0
80
80
ENDCHAR
STARTCHAR Ecircumflex
ENCODING 12490
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
F8
20
20
40
80
ENDCHAR
STARTCHAR Edieresis
ENCODING 12491
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
00
00
00
F8
ENDCHAR
STARTCHAR Igrave
ENCODING 12492
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
50
20
D0
ENDCHAR
STARTCHAR Iacute
ENCODING 12493
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
F8
10
20
70
A8
ENDCHAR
STARTCHAR Icircumflex
ENCODING 12494
SWIDTH 545 0
DWIDTH 6 0
BBX 3 6 1 0
BITMAP
20
20
20
20
40
80
ENDCHAR
STARTCHAR Idieresis
ENCODING 12495
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
10
88
88
88
88
ENDCHAR
STARTCHAR Eth
ENCODING 12496
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
10
88
88
88
88
ENDCHAR
STARTCHAR Ntilde
ENCODING 12497
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
18
18
00
10
88
88
88
88
ENDCHAR
STARTCHAR Ograve
ENCODING 12498
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
80
80
F8
80
80
78
ENDCHAR
STARTCHAR Oacute
ENCODING 12499
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
80
80
F8
80
80
78
ENDCHAR
STARTCHAR Ocircumflex
ENCODING 12500
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
18
98
80
F8
80
80
78
ENDCHAR
STARTCHAR Otilde
ENCODING 12501
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
08
10
60
ENDCHAR
STARTCHAR Odieresis
ENCODING 12502
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
08
08
10
60
ENDCHAR
STARTCHAR multiply
ENCODING 12503
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
18
18
00
F8
08
08
10
60
ENDCHAR
STARTCHAR Oslash
ENCODING 12504
SWIDTH 545 0
DWIDTH 6 0
BBX 5 4 0 1
BITMAP
40
A0
10
08
ENDCHAR
STARTCHAR Ugrave
ENCODING 12505
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 1
BITMAP
28
00
40
A0
10
08
ENDCHAR
STARTCHAR Uacute
ENCODING 12506
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 1
BITMAP
18
18
40
A0
10
08
ENDCHAR
STARTCHAR Ucircumflex
ENCODING 12507
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
20
F8
20
A8
A8
20
ENDCHAR
STARTCHAR Udieresis
ENCODING 12508
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
20
F8
20
A8
A8
20
ENDCHAR
STARTCHAR Yacute
ENCODING 12509
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
18
18
20
F8
20
A8
A8
20
ENDCHAR
STARTCHAR Thorn
ENCODING 12510
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
50
20
10
ENDCHAR
STARTCHAR germandbls
ENCODING 12511
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 1 0
BITMAP
E0
00
E0
00
F0
ENDCHAR
STARTCHAR agrave
ENCODING 12512
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
20
40
88
F8
08
ENDCHAR
STARTCHAR aacute
ENCODING 12513
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
08
28
10
28
C0
ENDCHAR
STARTCHAR acircumflex
ENCODING 12514
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
40
F8
40
38
ENDCHAR
STARTCHAR atilde
ENCODING 12515
SWIDTH 545 0
DWIDTH 6 0
BBX 5 4 0 0
BITMAP
40
F8
50
40
ENDCHAR
STARTCHAR adieresis
ENCODING 12516
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
40
F8
48
50
40
40
ENDCHAR
STARTCHAR aring
ENCODING 12517
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
60
20
20
F0
ENDCHAR
STARTCHAR ae
ENCODING 12518
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
70
10
10
10
F8
ENDCHAR
STARTCHAR ccedilla
ENCODING 12519
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
F0
10
F0
10
F0
ENDCHAR
STARTCHAR egrave
ENCODING 12520
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
F8
08
F8
ENDCHAR
STARTCHAR eacute
ENCODING 12521
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
70
00
F8
08
10
20
ENDCHAR
STARTCHAR ecircumflex
ENCODING 12522
SWIDTH 545 0
DWIDTH 6 0
BBX 4 6 0 0
BITMAP
90
90
90
90
10
20
ENDCHAR
STARTCHAR edieresis
ENCODING 12523
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
20
A0
A8
A8
B0
ENDCHAR
STARTCHAR igrave
ENCODING 12524
SWIDTH 545 0
DWIDTH 6 0
BBX 4 5 0 0
BITMAP
80
80
90
A0
C0
ENDCHAR
STARTCHAR iacute
ENCODING 12525
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
88
88
88
F8
ENDCHAR
STARTCHAR icircumflex
ENCODING 12526
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
F0
90
10
20
ENDCHAR
STARTCHAR idieresis
ENCODING 12527
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
88
08
10
20
ENDCHAR
STARTCHAR eth
ENCODING 12528
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
10
F8
50
50
F8
10
ENDCHAR
STARTCHAR ntilde
ENCODING 12529
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
30
20
F8
ENDCHAR
STARTCHAR ograve
ENCODING 12530
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
F8
08
F8
08
30
ENDCHAR
STARTCHAR oacute
ENCODING 12531
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 0
BITMAP
C0
08
08
10
E0
ENDCHAR
STARTCHAR ocircumflex
ENCODING 12532
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
20
F8
88
08
10
20
ENDCHAR
STARTCHAR otilde
ENCODING 12533
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
40
F0
50
A0
ENDCHAR
STARTCHAR odieresis
ENCODING 12534
SWIDTH 545 0
DWIDTH 6 0
BBX 4 4 0 0
BITMAP
40
F0
20
40
ENDCHAR
STARTCHAR divide
ENCODING 12535
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
88
08
10
60
ENDCHAR
STARTCHAR oslash
ENCODING 12536
SWIDTH 545 0
DWIDTH 6 0
BBX 5 8 0 0
BITMAP
28
00
10
F8
50
50
F8
10
ENDCHAR
STARTCHAR ugrave
ENCODING 12537
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
08
30
20
F8
ENDCHAR
STARTCHAR uacute
ENCODING 12538
SWIDTH 545 0
DWIDTH 6 0
BBX 5 7 0 0
BITMAP
28
00
F8
08
F8
08
30
ENDCHAR
STARTCHAR ucircumflex
ENCODING 12539
SWIDTH 545 0
DWIDTH 6 0
BBX 2 2 2 2
BITMAP
C0
C0
ENDCHAR
STARTCHAR udieresis
ENCODING 12540
SWIDTH 545 0
DWIDTH 6 0
BBX 5 1 0 2
BITMAP
F8
ENDCHAR
STARTCHAR yacute
ENCODING 12541
SWIDTH 545 0
DWIDTH 6 0
BBX 5 4 0 1
BITMAP
80
60
10
08
ENDCHAR
STARTCHAR thorn
ENCODING 12542
SWIDTH 545 0
DWIDTH 6 0
BBX 5 5 0 1
BITMAP
28
80
60
10
08
ENDCHAR
STARTCHAR ydieresis
ENCODING 12543
SWIDTH 545 0
DWIDTH 6 0
BBX 5 6 0 0
BITMAP
F8
08
08
08
08
08
ENDCHAR
ENDFONT

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,75 @@
#!/usr/bin/env bash
#####################################################################
# genallfont.sh for Marlin
#
# This script will generates font data for language headers
#
# Copyright 2015-2016 Yunhui Fu <yhfudev@gmail.com>
# License: GPL/BSD
#####################################################################
my_getpath () {
PARAM_DN="$1"
shift
#readlink -f
DN="${PARAM_DN}"
FN=
if [ ! -d "${DN}" ]; then
FN=$(basename "${DN}")
DN=$(dirname "${DN}")
fi
cd "${DN}" > /dev/null 2>&1
DN=$(pwd)
cd - > /dev/null 2>&1
echo "${DN}/${FN}"
}
#DN_EXEC=`echo "$0" | ${EXEC_AWK} -F/ '{b=$1; for (i=2; i < NF; i ++) {b=b "/" $(i)}; print b}'`
DN_EXEC=$(dirname $(my_getpath "$0") )
if [ ! "${DN_EXEC}" = "" ]; then
DN_EXEC="$(my_getpath "${DN_EXEC}")/"
else
DN_EXEC="${DN_EXEC}/"
fi
#####################################################################
EXEC_WXGGEN="${DN_EXEC}/uxggenpages.sh"
EXEC_BDF2U8G=`which bdf2u8g`
echo "0 set EXEC_BDF2U8G=$EXEC_BDF2U8G"
if [ ! -x "${EXEC_BDF2U8G}" ]; then
EXEC_BDF2U8G="${DN_EXEC}/bdf2u8g"
echo "1 set EXEC_BDF2U8G=$EXEC_BDF2U8G"
fi
if [ ! -x "${EXEC_BDF2U8G}" ]; then
EXEC_BDF2U8G="${PWD}/bdf2u8g"
echo "2 set EXEC_BDF2U8G=$EXEC_BDF2U8G"
fi
if [ ! -x "${EXEC_BDF2U8G}" ]; then
echo "Not found bdf2u8g!"
echo "plaese compile u8blib/tools/font/bdf2u8g/bdf2u8g and link to it from here!"
exit 1
fi
FN_NEWFONT="${DN_EXEC}/ISO10646-0-3.bdf"
if [ ! "$1" = "" ]; then
FN_NEWFONT="$1"
fi
DN_WORK=./tmp1
(cd ${DN_EXEC}; gcc -o genpages genpages.c getline.c)
LANGS="an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test"
for LANG in ${LANGS} ; do
rm -rf ${DN_WORK}/
mkdir -p ${DN_WORK}
cp Configuration.h ${DN_WORK}/
cp src/lcd/language/language_${LANG}.h ${DN_WORK}/
cd ${DN_WORK}/
${EXEC_WXGGEN} "${FN_NEWFONT}"
cd ../
mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/language_data_${LANG}.h
rm -rf ${DN_WORK}/
done

View file

@ -0,0 +1,207 @@
/**
* @file genpages.c
* @brief generate required font page files
* @author Yunhui Fu (yhfudev@gmail.com)
* @version 1.0
* @date 2015-02-19
* @copyright Yunhui Fu (2015)
*/
#include <stdio.h>
#include <stdint.h> /* uint8_t */
#include <stdlib.h> /* size_t */
#include <string.h>
#include <assert.h>
#include "getline.h"
wchar_t get_val_utf82uni(uint8_t *pstart) {
size_t cntleft;
wchar_t retval = 0;
if (0 == (0x80 & *pstart)) return *pstart;
if (((*pstart & 0xE0) ^ 0xC0) == 0) {
cntleft = 1;
retval = *pstart & ~0xE0;
}
else if (((*pstart & 0xF0) ^ 0xE0) == 0) {
cntleft = 2;
retval = *pstart & ~0xF0;
}
else if (((*pstart & 0xF8) ^ 0xF0) == 0) {
cntleft = 3;
retval = *pstart & ~0xF8;
}
else if (((*pstart & 0xFC) ^ 0xF8) == 0) {
cntleft = 4;
retval = *pstart & ~0xFC;
}
else if (((*pstart & 0xFE) ^ 0xFC) == 0) {
cntleft = 5;
retval = *pstart & ~0xFE;
}
else {
/* encoding error */
cntleft = 0;
retval = 0;
}
pstart++;
for (; cntleft > 0; cntleft --) {
retval <<= 6;
retval |= *pstart & 0x3F;
pstart++;
}
return retval;
}
/**
* @brief UTF-8 Unicode (wchar_t)
*
* @param pstart : UTF-8
* @param pval : Unicode
*
* @return UTF-8
*
* UTF-8 Unicode (wchar_t)
*/
uint8_t* get_utf8_value(uint8_t *pstart, wchar_t *pval) {
uint32_t val = 0;
uint8_t *p = pstart;
/*size_t maxlen = strlen(pstart);*/
assert(NULL != pstart);
if (0 == (0x80 & *p)) {
val = (size_t)*p;
p++;
}
else if (0xC0 == (0xE0 & *p)) {
val = *p & 0x1F;
val <<= 6;
p++;
val |= (*p & 0x3F);
p++;
assert((wchar_t)val == get_val_utf82uni(pstart));
}
else if (0xE0 == (0xF0 & *p)) {
val = *p & 0x0F;
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
p++;
assert((wchar_t)val == get_val_utf82uni(pstart));
}
else if (0xF0 == (0xF8 & *p)) {
val = *p & 0x07;
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
p++;
assert((wchar_t)val == get_val_utf82uni(pstart));
}
else if (0xF8 == (0xFC & *p)) {
val = *p & 0x03;
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
p++;
assert((wchar_t)val == get_val_utf82uni(pstart));
}
else if (0xFC == (0xFE & *p)) {
val = *p & 0x01;
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
val <<= 6; p++;
val |= (*p & 0x3F);
p++;
assert((wchar_t)val == get_val_utf82uni(pstart));
}
else if (0x80 == (0xC0 & *p)) {
/* error? */
for (; 0x80 == (0xC0 & *p); p++);
}
else {
/* error */
for (; ((0xFE & *p) > 0xFC); p++);
}
/*
if (val == 0) {
p = NULL;
*/
/*
}
else if (pstart + maxlen < p) {
p = pstart;
if (pval) *pval = 0;
}
*/
if (pval) *pval = val;
return p;
}
void usage(char* progname) {
fprintf(stderr, "Usage: %s\n", progname);
fprintf(stderr, " read data from stdin\n");
}
void utf8_parse(const char* msg, unsigned int len) {
uint8_t *pend = NULL;
uint8_t *p;
uint8_t *pre;
wchar_t val;
int page;
pend = (uint8_t *)msg + len;
for (pre = (uint8_t *)msg; pre < pend;) {
val = 0;
p = get_utf8_value(pre, &val);
if (NULL == p) break;
page = val / 128;
if (val >= 256) {
fprintf(stdout, "%d %d ", page, (val % 128));
for (; pre < p; pre++) fprintf(stdout, "%c", *pre);
fprintf(stdout, "\n");
}
pre = p;
}
}
int load_file(FILE *fp) {
char * buffer = NULL;
size_t szbuf = 0;
szbuf = 10000;
buffer = (char*)malloc(szbuf);
if (NULL == buffer) return -1;
//pos = ftell (fp);
while (getline( &buffer, &szbuf, fp ) > 0)
utf8_parse((const char*)buffer, (unsigned int)strlen ((char *)buffer));
free(buffer);
return 0;
}
int main(int argc, char * argv[]) {
if (argc > 1) {
usage(argv[0]);
exit(1);
}
load_file(stdin);
}

View file

@ -0,0 +1,126 @@
/**
* getline.c --- Based on...
*
* getdelim.c --- Implementation of replacement getdelim function.
* Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005 Free
* Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
/* Ported from glibc by Simon Josefsson. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#if !HAVE_GETLINE
//#include "getdelim.h"
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
#include <errno.h>
#ifndef SIZE_MAX
#define SIZE_MAX ((size_t) -1)
#endif
#ifndef SSIZE_MAX
#define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
#endif
#if !HAVE_FLOCKFILE
#undef flockfile
#define flockfile(x) ((void)0)
#endif
#if !HAVE_FUNLOCKFILE
#undef funlockfile
#define funlockfile(x) ((void)0)
#endif
/* Read up to (and including) a DELIMITER from FP into *LINEPTR (and
NUL-terminate it). *LINEPTR is a pointer returned from malloc (or
NULL), pointing to *N characters of space. It is realloc'ed as
necessary. Returns the number of characters read (not including
the null terminator), or -1 on error or EOF. */
ssize_t
getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) {
ssize_t result;
size_t cur_len = 0;
if (lineptr == NULL || n == NULL || fp == NULL) {
errno = EINVAL;
return -1;
}
flockfile (fp);
if (*lineptr == NULL || *n == 0) {
*n = 120;
*lineptr = (char *) malloc(*n);
if (*lineptr == NULL) {
result = -1;
goto unlock_return;
}
}
for (;;) {
int i;
i = getc(fp);
if (i == EOF) {
result = -1;
break;
}
/* Make enough space for len+1 (for final NUL) bytes. */
if (cur_len + 1 >= *n) {
size_t needed_max =
SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
size_t needed = 2 * *n + 1; /* Be generous. */
char *new_lineptr;
if (needed_max < needed)
needed = needed_max;
if (cur_len + 1 >= needed) {
result = -1;
goto unlock_return;
}
new_lineptr = (char *) realloc (*lineptr, needed);
if (new_lineptr == NULL) {
result = -1;
goto unlock_return;
}
*lineptr = new_lineptr;
*n = needed;
}
(*lineptr)[cur_len] = i;
cur_len++;
if (i == delimiter) break;
}
(*lineptr)[cur_len] = '\0';
result = cur_len ? (int) cur_len : (int) result;
unlock_return:
funlockfile(fp);
return result;
}
#endif

View file

@ -0,0 +1,14 @@
#ifndef MYGETLINE_H
#define MYGETLINE_H 1
//#include "config.h"
#if !HAVE_GETLINE
#include <stdio.h>
ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp);
#define getline(lineptr, n, stream) getdelim (lineptr, n, '\n', stream)
#endif
#endif // MYGETLINE_H

View file

@ -0,0 +1,47 @@
--- tools/font/bdf2u8g/bdf2u8g.c 2017-04-08 01:04:48.000000000 -0400
+++ tools/font/bdf2u8g/bdf2u8g.c 2018-02-24 17:24:26.368926703 -0500
@@ -175,9 +175,9 @@
for( i = 0; i < data_pos; i++ )
{
#ifdef BDF2U8G_COMPACT_OUTPUT
- fprintf(out_fp, "%d", data_buf[i]);
+ fprintf(out_fp, "0x%02x", data_buf[i]);
#else
- fprintf(out_fp, "%3d", data_buf[i]);
+ fprintf(out_fp, "0x%02x", data_buf[i]);
#endif
if ( i+1 != data_pos )
fprintf(out_fp, ",");
@@ -484,7 +484,8 @@
int bdf_char_max_y;
int bdf_char_min_y;
-int bdf_delta_x; /* DWIDTH arg 1 */
+int bdf_delta_x_default = -1;
+int bdf_delta_x = -1; /* DWIDTH arg 1 */
int bdf_delta_max_x;
int bdf_delta_min_x;
int bdf_delta_y; /* DWIDTH arg 2 */
@@ -1095,6 +1096,22 @@
bdf_char_ascent = bdf_char_height + bdf_char_y;
//printf("h:%d w:%d ascent: %d\n", bdf_char_height, bdf_char_width, bdf_char_ascent);
}
+ else if ( strcmp(p_buf, "CHARS") == 0 )
+ {
+ if (bdf_delta_x < 0) {
+ bdf_delta_x = 0;
+ }
+ if (bdf_delta_x_default < 0) {
+ bdf_delta_x_default = bdf_delta_x;
+ }
+ }
+ else if ( strcmp(p_buf, "STARTCHAR") == 0 )
+ {
+ if (bdf_delta_x_default < 0) {
+ bdf_delta_x_default = 0;
+ }
+ bdf_delta_x = bdf_delta_x_default;
+ }
else if ( strcmp(p_buf, "BITMAP") == 0 )
{
bdf_line_state = BDF_LINE_STATE_BITMAP;

View file

@ -0,0 +1,137 @@
## Language engine and tools
### Supported hardware
Marlin supports HD44780 character LCD and 128x64 graphical LCD via U8GLIB.
Because of the limitation of HD44780 hardware, Marlin can only support three
character sets for that hardware:
Japanese (kana_utf8), Russian/Cyrillic (ru), or Western (Roman characters)
For the graphical LCD modules, there's far less limitation. Users and language
maintainers can easily change the language translation strings if they save
with UTF-8 encoding. The only extra step is to regenerate the font data from
an existing BDF font file.
### How to support a new language?
1. prepare the translation source file
You need to add a language header file language_xx.h,
where xx is the language/country code, for example en is for English.
You may start with a existing language file by copying it to a new location:
```bash
cp language_zh_CN.h language_zh_TW.h
```
Then you can replace the strings in the macro _UxGT().
Make sure the file is saved as UTF-8 encoded.
2. Generate the font data file
This step is to gather the glyph appearing in the language file from a 9pt bitmap font,
and save the data in a language_data_xx.h file. So the font used for conversion should
contain all the characters in your language file.
The default bitmap font is WQY's 9pt bitmap font. You may download from
http://wenq.org/daily/wqy-bitmapfont-bdf-gb18030-nightly_build.tar.gz
or install in Debian/Ubuntu system:
```
sudo apt-get install xfonts-wqy
```
You need also compile the bdf2u8g which convert the BDF font file to U8glib supported data structures.
Before you compile bdf2u8g, it would better to patch the source file bdf2u8g.c.
```
cd marlin-git/buildroot/share/fonts/
wget https://github.com/olikraus/u8glib/archive/master.zip
unzip master.zip
cd u8glib-master/
patch -p0 < ../u8glib-bdf2u8g.patch
make -C tools/font/bdf2u8g/
cd -
ln -s u8glib-master/tools/font/bdf2u8g/bdf2u8g
```
The 'genallfont.sh' script will generate the font data for all of the
language translation files. You may edit the script to change the variable
LANGS to the list of languages you want to process. For example:
```bash
LANGS="zh_TW"
```
and then run the script to generate the font data (`language_data_xx.h`):
```bash
cd marlin-git/Marlin/
../buildroot/share/fonts/genallfont.sh
```
3. Change the language settings
To compile the firmware for your language, you need choose a language
in `Configuration.h`. For Chinese (Taiwan) you would use:
```cpp
#define LCD_LANGUAGE zh_TW
```
4. Compile and Upload the firmware
Open `Marlin.ino` in your IDE and compile the firmware. If it's compiled succeeds, upload it to your Arduino hardware.
### Update the language translation
If you change the language files, you need to run the script `genallfont.sh`
again to update the font data file.
### Use a cool font
You may need to use a different font to support your own language, because the
default 9pt font is not complete. (You may also support them by adding the missing
glyphs to the font.)
After you've prepared your font, specify the font file path as an argument to
`genallfont.sh`, so that the font used for your language is your new font. For
example, your new font file name is `newfont.bdf`, then run the following command:
```bash
cd Marlin/
../buildroot/share/fonts/genallfont.sh ./newfont.bdf
```
### Suggestions for Maintainers
Even the tool and the language engine can be easily updated,
since it use the common bitmap font files and UTF-8 text,
the maintainer need to confirm that the fonts contains the glyph
in the language files.
The font file currently used to generate the font data is the file ISO10646-0-3.bdf,
which is combined with the Marlin's ISO10646-1 fonts and WQY 9pt bitmap font.
### Related resources
#### Fonts
- [WQY](http://wenq.org/)
- [WQY 9pt bitmap font](http://wenq.org/daily/wqy-bitmapfont-bdf-gb18030-nightly_build.tar.gz)
- [unifont (16x8 or 16x16)](http://unifoundry.com/unifont.html)
Documents related to the old version of the language engine:
- [Marlin Fonts Documentation](http://www.marlinfw.org/docs/development/fonts.html)
- [Marlin LCD Language](https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language)
- [U8GLIB](https://github.com/olikraus/u8glib.git)
- [UTF-8 for U8GLIB](https://github.com/yhfudev/u8glib-fontutf8.git)
- [Standalone test project for the Marlin UTF-8 language engine](https://github.com/yhfudev/marlin-fontutf8.git)

View file

@ -0,0 +1,167 @@
#!/usr/bin/env bash
#####################################################################
# genpages.sh for u8g
#
# This script will generate u8g c files for specified fonts
#
# Copyright 2015-2016 Yunhui Fu <yhfudev@gmail.com>
# License: GPL/BSD
#####################################################################
my_getpath () {
PARAM_DN="$1"
shift
#readlink -f
DN="${PARAM_DN}"
FN=
if [ ! -d "${DN}" ]; then
FN=$(basename "${DN}")
DN=$(dirname "${DN}")
fi
cd "${DN}" > /dev/null 2>&1
DN=$(pwd)
cd - > /dev/null 2>&1
echo "${DN}/${FN}"
}
#DN_EXEC=`echo "$0" | ${EXEC_AWK} -F/ '{b=$1; for (i=2; i < NF; i ++) {b=b "/" $(i)}; print b}'`
DN_EXEC=$(dirname $(my_getpath "$0") )
if [ ! "${DN_EXEC}" = "" ]; then
DN_EXEC="$(my_getpath "${DN_EXEC}")/"
else
DN_EXEC="${DN_EXEC}/"
fi
#####################################################################
EXEC_GENPAGES=${DN_EXEC}/genpages
[ -x "${EXEC_GENPAGES}" ] || EXEC_GENPAGES="$(my_getpath ${DN_EXEC}/../../../genpages)"
[ -x "${EXEC_GENPAGES}" ] || EXEC_GENPAGES=$(which genpages)
[ -x "${EXEC_GENPAGES}" ] || { echo "Error: genpages not found!" ; exit 1; }
echo "EXEC_GENPAGES=${EXEC_GENPAGES}"
EXEC_BDF2U8G=${DN_EXEC}/bdf2u8g
[ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G="${DN_EXEC}/../../../bdf2u8g"
[ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G=$(which bdf2u8g)
[ -x "${EXEC_BDF2U8G}" ] || { echo "Error: bdf2u8g not found!" ; echo "Please compile u8blib/tools/font/bdf2u8g/bdf2u8g and link to it from here!"; exit 1; }
DN_CUR=$(pwd)
DN_DATA=$(pwd)/datatmp
mkdir -p "${DN_DATA}"
#####################################################################
FONTHOME=/usr/share/fonts
FN_FONT_BASE="ISO10646-0-1"
#FN_FONT_BASE=unifont
#FN_FONT_BASE=wenquanyi_12pt
#FN_FONT_BASE=wenquanyi_9pt
FN_FONT="${1:-}"
[ -z "${FN_FONT}" ] && FN_FONT=${DN_DATA}/../${FN_FONT_BASE}.bdf
[ -f "${FN_FONT}" ] || FN_FONT=${DN_EXEC}/${FN_FONT_BASE}.bdf
[ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/wenquanyi/${FN_FONT_BASE}.bdf"
[ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/X11/misc/${FN_FONT_BASE}.bdf"
echo "FN_FONT=${FN_FONT}"
[ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/misc/${FN_FONT_BASE}.bdf"
echo "FN_FONT2=${FN_FONT}"
if [ ! -f "${FN_FONT}" ]; then
FN_FONT_PCF="$FONTHOME/X11/misc/${FN_FONT_BASE}.pcf"
[ -f "${FN_FONT_PCF}" ] || FN_FONT_PCF="$FONTHOME/misc/${FN_FONT_BASE}.pcf"
[ -f "${FN_FONT_PCF}" ] || FN_FONT_PCF="$FONTHOME/wenquanyi/${FN_FONT_BASE}.pcf"
if [ -f "${FN_FONT_PCF}" ]; then
EXEC_PCF2BDF=$(which pcf2bdf)
if [ ! -x "${EXEC_PCF2BDF}" ]; then
echo "Error: not found pcf2bdf!"
echo " Please install pcf2bdf."
exit 1
fi
FN_FONT="./${FN_FONT_BASE}.bdf"
echo ${EXEC_PCF2BDF} -o "${FN_FONT}" "${FN_FONT_PCF}"
${EXEC_PCF2BDF} -o "${FN_FONT}" "${FN_FONT_PCF}"
fi
fi
[ -f "${FN_FONT}" ] || { echo "Error: can't find font ${FN_FONT}!" ; exit 1; }
#####################################################################
#(cd ${DN_EXEC}; gcc -o genpages genpages.c getline.c)
rm -f tmpa tmpb
#rm -f ${DN_EXEC}/fontpage_*.h
rm -f fontpage_*.h
cat << EOF > tmp-proc-page.awk
BEGIN {
cur_page=0;
val_begin=0;
val_pre=0;
utf8_pre="";
utf8_begin="";
}{
page=\$1;
val_real=\$2;
utf8=\$3;
# assert (val_real < 128);
val=val_real + 128;
if (cur_page != page) {
if (cur_page != 0) {
if (val_begin != 0) {
print cur_page " " val_begin " " val_pre " " utf8_begin " " utf8_pre;
}
}
cur_page=page;
val_begin=val;
val_pre=val;
utf8_begin=utf8;
utf8_pre=utf8;
} else {
if (val_pre + 1 != val) {
if (cur_page != 0) {
print cur_page " " val_begin " " val_pre " " utf8_begin " " utf8_pre;
}
val_begin=val;
val_pre=val;
utf8_begin=utf8;
utf8_pre=utf8;
} else {
val_pre = val;
utf8_pre=utf8;
}
}
} END {
if (cur_page != 0) {
print cur_page " " val_begin " " val_pre " " utf8_begin " " utf8_pre;
}
}
EOF
grep -Hrn _UxGT . | grep '"' | \
sed 's/_UxGT("/\n&/g;s/[^\n]*\n_UxGT("\([^"]*\)[^\n]*/\1 /g;s/.$//' | \
${EXEC_GENPAGES} | \
sort -k 1n -k 2n | uniq | \
gawk -v EXEC_PREFIX=${DN_EXEC} -f tmp-proc-page.awk | \
while read PAGE BEGIN END UTF8BEGIN UTF8END; do \
if [ ! -f ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h ]; then \
${EXEC_BDF2U8G} -u ${PAGE} -b ${BEGIN} -e ${END} ${FN_FONT} fontpage_${PAGE}_${BEGIN}_${END} ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h > /dev/null 2>&1 ;
#sed -i 's|#include "u8g.h"|#include "utility/u8g.h"|' ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h ;
fi ;\
grep -A 10000000000 u8g_fntpgm_uint8_t ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h >> tmpa ;\
echo " FONTDATA_ITEM(${PAGE}, ${BEGIN}, ${END}, fontpage_${PAGE}_${BEGIN}_${END}), // '${UTF8BEGIN}' -- '${UTF8END}'" >> tmpb ;\
done
rm -f fontutf8-data.h
echo "/* Generated by $0 */" >> fontutf8-data.h
echo "/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */" >> fontutf8-data.h
echo "/* Please turn to the tools call this script to change the contents! */" >> fontutf8-data.h
echo "" >> fontutf8-data.h
echo "#include <u8g.h>" >> fontutf8-data.h
#echo "#include \"fontutf8u8g.h\"" >> fontutf8-data.h
echo "" >> fontutf8-data.h
cat tmpa >> fontutf8-data.h
echo "" >> fontutf8-data.h
echo "#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}" >> fontutf8-data.h
echo "static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {" >> fontutf8-data.h
cat tmpb >> fontutf8-data.h
echo "};" >> fontutf8-data.h
rm -f tmpa tmpb tmp-proc-page.awk

View file

@ -27,6 +27,7 @@ default_src_filter = +<src/*> -<src/config>
build_flags = -fmax-errors=5 build_flags = -fmax-errors=5
-g -g
-ggdb -ggdb
-I${platformio.libdeps_dir}/U8glib-HAL_ID1932/src/lib/
lib_deps = lib_deps =
https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
LiquidCrystal_I2C@1.1.2 LiquidCrystal_I2C@1.1.2